Проблема: Как правильно моделировать неровную иерархию в Analysis Services?
Решение: В Analysis Services невозможно моделировать иерархию как истинное родитель-потомок отношение. Однако мы можем сохранить структуру обычной иерархии и скрыть повторяющиеся элементы. Это можно сделать как в SSAS Multidimensional, так и в Tabular.
Создание неровной иерархии в SSAS Multidimensional
1. Установите образец базы данных AdventureWorksDW2017.
2. Создайте новый проект SSAS Multidimensional в Visual Studio.
3. Создайте источник данных и представление источника данных.
4. Создайте измерение Sales Territory, используя столбец SalesTerritoryKey в качестве ключевого столбца и столбец SalesTerritoryRegion в качестве столбца имени.
5. Включите столбцы Sales Territory Country и Group в измерение.
6. Создайте иерархию и отношения атрибутов.
7. Обработайте измерение.
8. Создайте куб для таблицы фактов реселлерских продаж.
9. Включите измерение Sales Territory в куб.
10. Обработайте куб.
Настройка свойств неровной иерархии
На каждом уровне иерархии установите свойство HideMemberIf на ParentName или OnlyChildWithParentName. Выберите ParentName, когда есть повторяющиеся элементы, и OnlyChildWithParentName, когда есть другие дети с тем же именем.
Создание неровной иерархии в SSAS Tabular
1. Следуйте инструкциям в совете “Как обработать отношение родитель-потомок в Analysis Services Tabular”, чтобы создать иерархию EmployeeOrganization.
2. В настройках иерархии выберите Hide blank members, чтобы скрыть повторяющиеся элементы.
3. Измените формулы вычисляемых столбцов, чтобы возвращать BLANK() вместо выбора значения предыдущего значения.
Заключение
В этом совете мы показали, как создавать неровные иерархии как в Analysis Services Multidimensional, так и в Tabular. Настроив свойство скрытия элементов, мы можем скрыть повторяющиеся элементы и создать более интуитивную иерархию. Однако важно отметить, что Power BI Desktop в настоящее время не поддерживает неровные иерархии из модели Tabular.