Предложение WHERE в MDX для динамических представлений управления - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь запросить метаданные из табличного куба, используя 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, поэтому любая помощь будет признательна.

1 Ответ

0 голосов
/ 12 декабря 2018

MEASURE_IS_VISIBLE является логическим столбцом и должен быть отфильтрован как таковой.Следующий запрос фильтрует результаты только для тех, у которых значение MEASURE_IS_VISIBLE равно true.Измените это на WHERE NOT MEASURE_IS_VISIBLE для строк, где это ложно.Вы можете увидеть типы данных для этого 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 
...