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


Определение содержимого оси запроса (многомерные выражения)

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

Для определения осей запроса используется инструкция <SELECT query axis clause>, связывающая набор с определенной осью запроса. Каждое значение в инструкции <SELECT query axis clause> определяет одну ось запроса. Число осей в наборе данных равно числу значений <SELECT query axis clause> в инструкции SELECT.

Синтаксис определения оси запроса

Для определения оси запроса в инструкции <SELECT query axis clause> используется следующий синтаксис:

<SELECT query axis clause> ::=
   [ NON EMPTY ] Set_Expression [ <SELECT dimension property list clause> ] 
   ON {
      Integer_Expression | 
      AXIS( Integer_Expression ) | 
      {COLUMNS | ROWS | PAGES | SECTIONS | CHAPTERS}   
      }
      

Каждой оси запроса присваивается порядковый номер: ноль (0) для оси Х, 1 для оси Y, 2 для оси Z и т. д. В приведенном синтаксисе инструкции <SELECT query axis clause> значение Integer_Expression задает номер оси. В запросе многомерных выражений поддерживается до 128 осей, но очень редко в многомерных запросах встречается больше 5 осей. Для первых 5 осей можно использовать псевдонимы COLUMNS, ROWS, PAGES, SECTIONS и CHAPTERS.

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

Можно, однако, указать предложение SELECT совсем без осей (то есть пустое предложение SELECT). В этом случае все измерения будут измерениями среза, а запрос многомерных выражений выберет только одну ячейку.

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