【问题标题】:WHERE clause in MDX for Dynamic Management ViewsMDX 中用于动态管理视图的 WHERE 子句
【发布时间】:2018-12-12 19:52:43
【问题描述】:

我正在尝试使用 DMV 从表格多维数据集中查询元数据。我能够在没有 where 子句的情况下让它工作,但我似乎无法让 where 子句工作。有什么建议吗?

这是有效的代码:

SELECT 
    [MEASURE_CAPTION]           AS [Measure]
    ,[MEASURE_IS_VISIBLE]       AS [Visable]
    ,[DESCRIPTION]              AS [Description]
    ,[MEASURE_DISPLAY_FOLDER]   AS [Display Folder]
    ,[EXPRESSION]               AS [Calculation]
FROM $SYSTEM.MDSCHEMA_MEASURES

我尝试过的 WHERE 子句是:

WHERE ([MEASURE_IS_VISIBLE].[members].[true])

我收到以下错误:

The dot expression is not allowed in the context at line 9, column 1.

还有:

WHERE [MEASURE_IS_VISIBLE] = TRUE

我收到以下错误:

Error: A Boolean expression is not allowed in the context at line 9, column 7.

我在这些主题上尝试了很多版本,但总是得到相同的结果。我完全不熟悉 MDX 的工作原理,因此我们将不胜感激。

【问题讨论】:

    标签: sql-server mdx ssas-tabular dmv


    【解决方案1】:

    MEASURE_IS_VISIBLE 是一个布尔列,必须按此过滤。以下查询将结果筛选为仅具有 MEASURE_IS_VISIBLE 值为 true 的结果。将其更改为 WHERE NOT MEASURE_IS_VISIBLE 以获取为 false 的行。您可以从文档here 中查看此 DMV 的数据类型。

    SELECT 
        [MEASURE_CAPTION]           AS [Measure]
        ,[MEASURE_IS_VISIBLE]       AS [Visable]
        ,[DESCRIPTION]              AS [Description]
        ,[MEASURE_DISPLAY_FOLDER]   AS [Display Folder]
        ,[EXPRESSION]               AS [Calculation]
    FROM $SYSTEM.MDSCHEMA_MEASURES 
    WHERE MEASURE_IS_VISIBLE 
    

    【讨论】:

    • 谢谢!这正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2012-03-15
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多