2015-11-16 59 views
0

我有在SSAS上運行確定的查詢。SSAS DMV不喜歡條件

SELECT DIMENSION_NAME 
FROM $SYSTEM.MDSCHEMA_DIMENSIONS 
WHERE LEFT(CUBE_NAME,1) = '$' 
AND [DIMENSION_UNIQUE_NAME] <> '[Metrics]' 
AND [DIMENSION_UNIQUE_NAME] <> '[Measures]' 
ORDER BY DIMENSION_NAME 

我應該如何指定NOT LIKE條件來獲取所有Dimension Names不以「Fact」開始?在T-SQL中,它被寫成如

AND [DIMENSION_UNIQUE_NAME] NOT LIKE 'Fact%' 

但是如何在MDX中編寫它?根據意見


編輯:

如何編寫查詢,所以我可以篩選掉元素開始在名爲「Fact」?

下面的查詢返回的錯誤:

SELECT DIMENSION_NAME ,* 
FROM $SYSTEM.MDSCHEMA_DIMENSIONS 
WHERE LEFT(CUBE_NAME,1) = '$' 
AND [DIMENSION_UNIQUE_NAME] <> '[Metrics]' 
AND [DIMENSION_UNIQUE_NAME] <> '[Measures]' 
AND [DIMENSION_UNIQUE_NAME] NOT LIKE 'Fact%' 
ORDER BY DIMENSION_NAME 

-

Executing the query ... 
Query (6, 29) The syntax for 'NOT' is incorrect. 
Execution complete 
+0

DMV不打算寫在MDX中。 MDX用於查詢多維數據集的數據,其中DMV用於查詢多維數據集屬性。 – SouravA

+0

也許我對這些術語進行了一些改動。我想要做的是在SSMS中的SSAS服務器上運行此項以獲取多維數據集屬性,但是按名稱過濾維度/元素。 – DNac

+0

我同意SouravA - 堅持sql:我認爲dmv將是一個關係表,因此mdx不會幫助 – whytheq

回答

1

這種替換倒數第二行:

AND LEFT([DIMENSION_UNIQUE_NAME], 4) <> 'Fact' 

希望你在新的運行語句DMX查詢窗口SSMS

+0

是的,那真的很聰明。我會玩這個,因爲獨特的名字以[.. as [unique_name] ..開頭,但那應該是好的。謝謝。 – DNac