Published on

March 26, 2023

Создание пользовательских агрегаций в SQL Server Analysis Services

В SQL Server Analysis Services (SSAS), при выполнении запроса MDX часто требуется вычислять и извлекать данные из формулы и хранилища. Однако, если запрашиваемые данные не найдены в существующих агрегациях, движок должен вычислить агрегации по требованию, что может негативно сказаться на производительности запроса.

В этом блоге мы рассмотрим, как создать пользовательские агрегации в SSAS, чтобы удовлетворить конкретные потребности любого запроса.

Проблема

Часто, даже если агрегации на месте, определенные запросы не могут извлечь выгоду из них, потому что атрибуты, используемые в запросе, не включены в агрегации, разработанные мастером агрегации.

Например, допустим, что пользователи должны запросить сумму продаж в Интернете из группы мер Internet Sales, разделенную по атрибуту Color из измерения Product. В этом случае нам нужно разработать агрегацию в группе мер Internet Sales, которая включает атрибут Color в измерение.

Решение

Следуйте указанным ниже шагам, чтобы разработать пользовательскую агрегацию, которую можно использовать в вышеопределенном запросе:

Шаг 1:

Создайте новую пустую агрегацию или выберите редактирование существующей, в зависимости от уже существующих агрегаций в целевой группе мер. Откройте образец куба AdventureWorks и перейдите на вкладку Агрегации. Щелкните на кнопку “Расширенный вид”, чтобы разработать пользовательскую агрегацию. Выберите группу мер Fact Internet Sales, щелкните правой кнопкой мыши и выберите опцию “Новый дизайн агрегации”. Укажите подходящее имя для агрегации и сохраните ее.

Шаг 2:

Щелкните правой кнопкой мыши на пустом дизайне агрегации и выберите опцию “Новая агрегация”. В появившемся окне выберите атрибут Color из измерения продукта. Сохраните агрегацию.

Шаг 3:

Выберите многоточие разделов для нового дизайна агрегации и назначьте для него раздел. Разверните куб и обработайте группу мер при необходимости.

Шаг 4:

Перед запросом куба откройте Profiler и создайте новый файл трассировки для SSAS. Выберите пустой шаблон и выберите события, как показано. Событие “Получение данных из агрегации” срабатывает, когда анализатор запросов извлекает данные из агрегации. Запустите трассировку в Profiler.

Шаг 5:

Просмотрите куб и выберите сумму продаж в Интернете, а затем атрибут Color из измерения Products Dimension, а затем любой другой атрибут.

Шаг 6:

Изучите данные из Profiler и обратите внимание, что при выборе меры или атрибута Color данные считываются из агрегации. Однако, при выборе любого другого атрибута данные не считываются из агрегации, так как он не является частью дизайна агрегации.

Следуя этим шагам и разрабатывая агрегации, которые включают необходимые атрибуты и меры, вы можете обеспечить, что ваши запросы получают выгоду от существующих или новых агрегаций.

Спасибо за прочтение этого блога о создании пользовательских агрегаций в SQL Server Analysis Services. Следите за новыми советами и трюками по SQL Server!

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.