2011-06-01 52 views
1

在MDX中指定集合有一個簡單的方法嗎?在MDX中指定集合的​​更簡短的方法

我知道我可以這樣做:

{[Debtor].[TRADING DEBTOR CODE].&[AU-000013],[Debtor].[TRADING DEBTOR CODE].&[AU-000020]} 

但一旦你在幾件,但是變得令人難以置信的冗長。

我正在尋找類似

MagicFunctionToMakeASet([Debtor].[TRADING DEBTOR CODE],'AU-000013,AU-000015,AU-000013,AU-000015,...') 
+0

不要這樣想。 – ic3 2011-06-01 19:54:31

+0

如果你回答,我會接受,因爲我認爲這是真的。 – WOPR 2011-06-02 00:18:55

回答

1

他們是按順序呢?如果是這樣,你能做

{ 
     [Debtor].[TRADING DEBTOR CODE].&[AU-000013] : 
     [Debtor].[TRADING DEBTOR CODE].&[AU-000020] 
} 

給你一組代碼13至20包括?

如果失敗了,請查看InStr並查看它是否可以提供幫助,看起來好像可能 - 或者您可以使用它創建一些子集,然後將它們合併到最終集合中?

http://msdn.microsoft.com/en-us/library/ms145487.aspx

從上面的MSDN:

WITH SET [ChardonnayChablis] AS 
    'Filter([Product].Members, (InStr(1, [Product].CurrentMember.Name, "chardonnay") <> 0) OR (InStr(1, [Product].CurrentMember.Name, "chablis") <> 0))' 

SELECT 
    [ChardonnayChablis] ON COLUMNS, 
    {Measures.[Unit Sales]} ON ROWS 
FROM Sales 
0

有各種各樣的快捷方式。如果您只想要某個成員的所有'子女',請使用Descendants().children。或者通過.members獲得一個級別的所有成員。您可以指定兩個成員之間的範圍,或者使用過濾器來匹配某種標準。

你在做什麼?我會嘗試給出一個更具體的例子...

相關問題