Вычисления

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

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

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

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

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

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

([Measures].[Price_to_Ship] - [Measures].[Cost_to_Ship]) /  
[Measures].[Volume_in_Cubic_Meters]  

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

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

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

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

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

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

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

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

См. также:

Вычисления в многомерных моделях