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