logo Фёдор Самородов

Как поменять порядок осей в результате MDX-запроса

В ‎MDX-запросе‏ ‎мы ‎можем ‎сами ‎выбирать ‎что‏ ‎и ‎вдоль‏ ‎какой‏ ‎оси ‎выводить. ‎Можно,‏ ‎к ‎примеру,‏ ‎выбросить ‎календарь ‎на ‎горизонтальную‏ ‎ось,‏ ‎а ‎товары‏ ‎— ‎на‏ ‎вертикальную. ‎А ‎можно ‎наоборот. ‎Но‏ ‎это‏ ‎только ‎в‏ ‎том ‎случае,‏ ‎если ‎запрос ‎использует ‎несколько ‎измерений.

А‏ ‎если‏ ‎нам‏ ‎нужна ‎только‏ ‎одна ‎размерность?

Посмотрите‏ ‎на ‎размерность‏ ‎на‏ ‎картинке. ‎Это‏ ‎довольно ‎длинные ‎строки, ‎и ‎их‏ ‎список, ‎конечно,‏ ‎удобнее‏ ‎листать ‎по ‎вертикали.

Но‏ ‎в ‎MDX-запросе‏ ‎первая ‎ось ‎всегда ‎горизонтальная‏ ‎(ON‏ ‎COLUMNS).

И, ‎если‏ ‎мы ‎просто‏ ‎выведем ‎список ‎на ‎эту ‎ось,‏ ‎получится‏ ‎не ‎очень‏ ‎удобный ‎горизонтальный‏ ‎список.

Посмотрите:

Листать ‎такой ‎список ‎не ‎очень‏ ‎удобно.‏ ‎Обычно‏ ‎хочется, ‎чтобы‏ ‎горизонтальная ‎ось‏ ‎была ‎покороче‏ ‎и‏ ‎вела ‎себя‏ ‎более ‎предсказуемо. ‎Однако, ‎пропустить ‎горизонтальную‏ ‎ось ‎нельзя‏ ‎—‏ ‎синтаксически ‎в ‎MDX-запросе‏ ‎сначала ‎обязательно‏ ‎идут ‎столбцы ‎(ON ‎COLUMNS),‏ ‎а‏ ‎потом ‎строки‏ ‎(ON ‎ROWS).

Решение‏ ‎— ‎использовать ‎пустое ‎множество ‎для‏ ‎скрытия‏ ‎ненужных ‎осей.‏ ‎Вот ‎так:

Теперь‏ ‎и ‎со ‎списком ‎работать ‎удобнее‏ ‎и‏ ‎сроцесс‏ ‎построения ‎структуры‏ ‎запроса ‎стал‏ ‎более ‎комфортным.

В‏ ‎итоговом‏ ‎запросе ‎место‏ ‎пустого ‎перечисления, ‎вероятно ‎займёт ‎какая-то‏ ‎другая ‎конструкция,‏ ‎но‏ ‎в ‎процессе ‎сочинения‏ ‎этого ‎запроса‏ ‎конструкция ‎«{} ‎ON ‎COLUMNS»‏ ‎создаёт‏ ‎для ‎разработчика‏ ‎дополнительную ‎степень‏ ‎свободы.

Предыдущий Следующий
Все посты проекта
0 комментариев

Подарить подписку

Будет создан код, который позволит адресату получить бесплатный для него доступ на определённый уровень подписки.

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

Будет создан код, который позволит адресату получить сумму на баланс.

Разово будет списана указанная сумма и зачислена на баланс пользователя, воспользовавшегося данным промокодом.

Добавить карту
0/2048