【发布时间】:2015-11-16 13:08:28
【问题描述】:
我的查询在 SSAS 上运行正常。
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 条件以获取所有不以“Fact”开头的Dimension Names?在 T-SQL 中是这样写的
AND [DIMENSION_UNIQUE_NAME] NOT LIKE 'Fact%'
但是如何在 MDX 中编写呢?
基于 cmets 编辑:
如何编写查询以便过滤掉名称中以“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
【问题讨论】:
-
DMV 并不打算用 MDX 编写。 MDX 用于查询多维数据集的数据,其中 DMV 用于查询多维数据集属性。
-
也许我稍微改变了条款。我想要做的是在 SSMS 中的 SSAS 服务器上运行它以获取多维数据集属性,但按名称过滤维度/元素。
-
我同意 SouravA - 坚持使用 sql:我认为 dmv 将是一个关系表,因此 mdx 无济于事