Поделиться через


Использование кортежных выражений

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

Заметка

Любой кортеж, который делает ссылку на один или более недопустимых элементов, считается пустым кортежем.

Полное выражение идентификатора кортежа состоит из одного или более явно заданных элементов, заключенных в скобки:

(Member_expression [ ,Member_expression ... ]

Кортеж может иметь полную спецификацию, содержать неявные элементы или единственный элемент.

Кортежи и неявные элементы

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

Любое измерение без явной ссылки на него в пределах одного кортежа считается неявной ссылкой. Элемент измерения с неявной ссылкой зависит от структуры этого измерения и связей атрибутов, определенных внутри него. Если есть явная ссылка на иерархию в том же измерении, в котором находится иерархия с неявной ссылкой, и определена прямая или косвенная связь между иерархиями с явной и неявной ссылками, кортеж ведет себя так, как если бы он содержал элемент иерархии с неявной ссылкой, существующий вместе с элементом иерархии с явной ссылкой. Например, если куб содержит измерение «Заказчик» с атрибутами «Город» и «Страна» и между этими двумя атрибутами определена такая связь, что для «Города» существует одна «Страна», а «Страна» может содержать много «Городов», явное включение города «Лондон» в кортеж создает неявную ссылку на страну «Великобритания». Но если связи атрибутов не определены, если связь существует в обратном направлении (например, «Город» имеет связь со «Страной», но невозможно определить город, в котором проживает человек, зная лишь страну проживания) или если не определены прямые связи между двумя атрибутами (определена связь между «Заказчиком» и «Городом» и «Заказчиком» и «Страной», но нет связи между «Городом» и «Страной»), действуют следующие правила.

  • Если у иерархии с неявной ссылкой есть элемент по умолчанию, этот элемент добавляется к кортежу.

  • Если неявно указанная иерархия не имеет элемента по умолчанию, используется элемент (Все) иерархии по умолчанию.

  • Если у иерархии с неявной ссылкой нет элемента по умолчанию, используется первый элемент самого верхнего уровня иерархии.

Кортежи с одним элементом

Если кортежное выражение имеет один-единственный элемент, то многомерное выражение преобразует этот элемент в кортеж из одного элемента для вычисления этого выражения. Другими словами, применение выражения элемента [Measures].[TestMeasure] вместо кортежного выражения функционально эквивалентно кортежному выражению ( [Measures].[TestMeasure] ).

См. также

Выражения (многомерные выражения)
Справочник по функции многомерных выражений (многомерные выражения)