Кортежи
Кортеж однозначно определяет срез данных в кубе. Кортеж формируется сочетанием элементов измерения, если отсутствует несколько элементов, принадлежащих одной иерархии.
Неявные элементы атрибута или элементы атрибута по умолчанию в кортеже
При определении кортежа в запросе многомерных выражений или в многомерном выражении не обязательно явно включать элемент атрибута из каждой иерархии атрибута. Если элемент из иерархии атрибута не включен явно в запрос или выражение, в кортеж неявным образом включается элемент по умолчанию данной иерархии атрибута. Если в кубе явно не указано обратное, элементом по умолчанию любой иерархии атрибута считается элемент «(Все)», если он существует. Если такой элемент отсутствует в иерархии атрибута, элементом по умолчанию считается элемент верхнего уровня иерархии. Мерой по умолчанию является первая мера указанного куба, если только мера по умолчанию не определена явно. Дополнительные сведения см. в разделах Определение элемента по умолчанию и 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]. |