2012-07-29 80 views
0

我創造的SSMS命名集與此代碼:蹊蹺創建一個名爲設置

WITH SET [American WWII Figures] AS 
'{[American GI], [US Army Pilot]}' 

和我得到的respons:

Executing the query ... 
Parser: The end of the input was reached. 

Execution complete 

是該查詢succefully執行?

當我再嘗試使用命名設定:

SELECT {[American WWII Figures]} ON COLUMNS, 
     [Year].Members ON ROWS 
FROM [Max Min Manufacturing DM] 
WHERE [Measures].[Total Products] 

我得到:

Executing the query ... 
Query (1, 9) The dimension '[American WWII Figures]' was not found in the cube 
when the string, [American WWII Figures], was parsed. 

執行完成

由於doesn't似乎存在我猜是什麼當我創建集合時錯誤。什麼可能是錯誤?

回答

1

閱讀有關在mdx中創建命名集的不同方法。無論是「CREATE SET ..」還是像我一樣:WITH SET。

我得知它們的區別在於它的存在範圍。當您使用WITH語句時,命名集只存在於查詢中。我在不同的時間執行查詢,但是當我將它們運行在一起時,一切正常!

+0

是的,這就是它的工作原理。如果您想永久使用它,可以在多維數據集計算腳本中定義它(假設您使用SSAS?)。根據你使用的MDX版本,你也可以有'會話範圍'集和成員,這些會在你的上面的例子中起作用(我認爲在SSAS中它會是CREATE SET而不是WITH SET?) – Meff 2012-07-30 14:28:34