Как SSAS заполняет информацию LEVEL_TYPE в наборе строк MDSCHEMA_LEVELS - PullRequest
0 голосов
/ 08 февраля 2019

Я выполнил следующий запрос DMV на SSAS.

SELECT
 [HIERARCHY_UNIQUE_NAME],
 [LEVEL_NAME],
 [LEVEL_NUMBER],
 [LEVEL_CARDINALITY],
 [LEVEL_TYPE]
from $system.mdschema_levels 
where [DIMENSION_UNIQUE_NAME] = '[DATE]'
 AND [CUBE_NAME] = 'Adventure Works'
 AND [LEVEL_NAME] <> '(All)'.

Я получил много неожиданных LEVEL_TYPES enter image description here

Я хотел понять, что делатьLEVEL_TYPE, например, 4289, 4578, 4385, 4759 означают?Они вычисляются алгоритмически или это ресурс документации, на который можно ссылаться?

1 Ответ

0 голосов
/ 10 февраля 2019

Эти Level_TYPE определяются свойством «Тип» атрибута измерения, который вы задали в окне проектирования измерения вашего проекта SSAS.В случае, если вы устанавливаете тип как обычный, вы получаете еще 0, если вы выбираете один из присутствующих типов, вы получаете его идентификатор.Интересно, что если HIERARCHY_UNIQUE_NAME имеет иерархию атрибутов, он возвращает идентификатор для иерархии атрибутов, если HIERARCHY_UNIQUE_NAME имеет иерархию пользователей, то идентификатор возвращается для базового атрибута LEVEL_NAME.Например, в приведенном ниже результате взгляните на две строки, которые возвращают 68 в LEVEL_TYPE, первая строка сообщается как иерархия атрибутов, вторая - как уровень иерархии пользователя (обратите внимание на Level_Number 3 и разницу между HIERARCHY_UNIQUE_NAME и LEVEL_NAME)

enter image description here

Редактировать: Подробности конкретного типа

4289: тип Дата, 4578: тип QuaterOfYear, 4385: тип HalfYearOfYear, 4759: типWeekOfYear

...