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


Кортежи

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

Неявные элементы атрибута или элементы атрибута по умолчанию в кортеже

При определении кортежа в запросе многомерных выражений или в многомерном выражении не обязательно явно включать элемент атрибута из каждой иерархии атрибута. Если элемент из иерархии атрибута не включен явно в запрос или выражение, в кортеж неявным образом включается элемент по умолчанию данной иерархии атрибута. Если в кубе явно не указано обратное, элементом по умолчанию любой иерархии атрибута считается элемент «(Все)», если он существует. Если такой элемент отсутствует в иерархии атрибута, элементом по умолчанию считается элемент верхнего уровня иерархии. Мерой по умолчанию является первая мера указанного куба, если только мера по умолчанию не определена явно. Дополнительные сведения см. в разделах Определение элемента по умолчанию и DefaultMember (многомерные выражения).

Например, следующий кортеж определяет одну ячейку в базе данных Adventure Works, явно определяя только один элемент в измерении Measures.

(Measures.[Reseller Sales Amount])

В предыдущем примере уникально определена ячейка, состоящая из элемента Reseller Sales Amount из измерения Measures и элемента по умолчанию из каждой иерархии атрибута в кубе. Элементом по умолчанию для каждой иерархии атрибута, кроме Destination Currency, является элемент «(Все)». Элементом по умолчанию для иерархии Destination Currency является элемент US Dollar (он определен в сценарии многомерных выражений в кубе Adventure Works).

Важное примечаниеВажно!

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

Следующий запрос возвращает значение ячейки, на которую ссылается кортеж, указанный в предыдущем примере ($80 450 596,98).

SELECT 
Measures.[Reseller Sales Amount] ON COLUMNS 
FROM [Adventure Works]
ПримечаниеПримечание

При определении оси для набора (в данном случае состоящего из одного кортежа) в запросе набор для оси столбцов необходимо указать перед набором для оси строк. Ось столбцов называют ось(0) или просто 0. Дополнительные сведения о запросах многомерных выражений см. в разделе Базовый запрос многомерных выражений (многомерные выражения).

Кортежи в качестве значений или ссылок на элементы

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

Размерность кортежа

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

SELECT 
([Measures].[Reseller Sales Amount],[Date].[Calendar Year].[CY 2004]) ON COLUMNS 
FROM [Adventure Works]
ПримечаниеПримечание

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

Кортеж в запросе в предыдущем примере возвращает ячейку куба на пересечении меры Reseller Sales Amount измерения Measures и элемента CY 2004 иерархии атрибута Calendar Year в измерении Date.

ПримечаниеПримечание

На элемент атрибута можно ссылаться по имени или ключу. В предыдущем примере ссылку [CY 2004] можно изменить на &[2004].