2015-11-16 62 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