Вычисляемая мера многомерного выражения в olap

Обновлено: 04.10.2024

Область применения: SQL Server Analysis Services Azure Analysis Services Power BI Premium

Вычисление — это многомерное выражение (MDX) или скрипт, который используется для определения вычисляемого элемента, именованного набора или назначения с областью действия в Кубе в Microsoft SQL Server Службы Analysis Services . Вычисления позволяют добавлять объекты, определенные не данными куба, а выражениями, которые могут ссылаться на прочие части куба, другие кубы, или даже данные вне базы данных служб Службы Analysis Services. Вычисления позволяют расширить возможности куба, увеличивая гибкость и производительность приложений бизнес-аналитики. дополнительные сведения о создании скриптов см. в разделе введение в скрипты многомерных выражений в Microsoft SQL Server 2005.

Вычисляемые элементы

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

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

Хотя вычисляемые элементы обычно основаны на данных, уже существующих в кубе, можно создавать сложные выражения, объединяя данные с арифметическими операторами, числами и функциями. Функции многомерных выражений, такие как LookupCube, можно также использовать для доступа к другим кубам в базе данных Службы Analysis Services. В состав служб Службы Analysis Services входят библиотеки стандартизированных функций Visual Studio, при этом хранимые процедуры можно использовать для извлечения данных из источника, отличного от текущей базы данных служб Службы Analysis Services. Дополнительные сведения о хранимых процедурах см. в разделе Определение хранимых процедур.

Например, предположим, что руководство судоходной компании хочет определить типы груза, наиболее выгодные с точки зрения перевозки, используя для этого показатель прибыли в расчете на единицу объема. Берется куб «Перевозки», содержащий измерения «Груз», «Флот» и «Время» и меры «Цена_за_судно», «Стоимость_за_судно» и «Объем_в_кубических_метрах»; однако в кубе нет меры для прибыльности. В кубе можно создать вычисляемый элемент как меру, именуемую «Прибыль_за_кубический_метр», путем объединения существующих мер в следующем выражении:

После создания вычисляемого элемента при следующем просмотре куба «Перевозки», мера «Прибыль_за_кубический_метр» появится вместе с другими мерами.

Для создания вычисляемых элементов используйте вкладку вычисления в конструкторе кубов. Дополнительные сведения см. в разделе Создание вычисляемых элементов .

Именованные наборы

Именованным набором является многомерное выражение инструкции CREATE SET, которое возвращает набор. МНОГОМЕРное выражение сохраняется как часть определения куба в Microsoft SQL Server Службы Analysis Services . Именованный набор создается для многократного использования в запросах многомерных выражений. Именованный набор обеспечивает пользователям простоту создания запросов и, зачастую, позволяет использовать имя набора вместо выражений набора для сложных и часто применяемых выражений набора. Связанные разделы: Создание именованных наборов

Команды скриптов

Команда скрипта представляет собой скрипт многомерного выражения, включенный в состав определения куба. Команды скрипта позволяют осуществлять практически любое действие, поддерживаемое многомерными выражениями в кубе, такие как отнесение вычисления только к части куба. В SQL Server Службы Analysis Services скрипты многомерных выражений могут применяться либо ко всему кубу, либо к конкретным разделам куба в определенные моменты во время выполнения скрипта. Команда скрипта по умолчанию, являющаяся инструкцией CALCULATE, заполняет ячейки в кубе статистическими данными, основанными на области по умолчанию.

Областью по умолчанию является весь куб, но можно определить более ограниченную область, известную как вложенный куб, а затем применить скрипт многомерных выражений только к этому конкретному пространству куба. Инструкция SCOPE определяет область всех последующих многомерных выражений и инструкций в пределах скрипта вычислений до окончания или переопределения области. Затем используется инструкция THIS, чтобы применить многомерное выражение к текущей области. Можно использовать инструкцию BACK_COLOR, чтобы задать фоновый цвет ячеек в текущей области, что может быть полезно при отладке.

Например, можно использовать команду скрипта для распределения между сотрудниками квот на продажи по времени и территории продаж на основе взвешенных значений продаж за предыдущий период времени.

Читайте также: