Построение вычислений значений ячеек в многомерном выражении

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

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

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

При создании вычисляемые ячейки похожи как на именованные наборы, так и на вычисляемые элементы тем, что вычисляемые ячейки можно временно создать на время жизни одного сеанса или отдельного запроса; и они становятся глобально доступными как часть куба:

  • Область — запрос.   Для создания вычисляемой ячейки, которая определена как часть запроса многомерных выражений (поэтому ее область ограничена этим запросом), надо применить ключевое слово WITH. Затем можно использовать эту вычисляемую ячейку в операторе MDX SELECT. При таком подходе вычисляемую ячейку, которая создается с применением ключевого слова WITH, можно изменить, не нарушая инструкцию SELECT.

    Дополнительные сведения о применении ключевого слова WITH для создания вычисляемых элементов см. в разделе Создание вычислений ячеек с областью действия запроса (многомерные выражения).

  • Область — сеанс. Чтобы создать вычисляемую ячейку, область которой шире контекста запроса (то есть область которой составляет время жизни сеанса многомерных выражений), можно воспользоваться инструкцией CREATE CELL CALCULATION или инструкцией ALTER CUBE.

    Дополнительные сведения о применении инструкций CREATE CELL CALCULATION и ALTER CUBE для создания вычисляемых ячеек в сеансе см. в разделе Создание вычисляемых ячеек с областью действия сеанса