Published on

December 31, 2020

Создание неровных иерархий в SQL Server

Проблема: Как правильно моделировать неровную иерархию в 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.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.