Уважаемые слушатели! Обращаем ваше внимание, что 01.05.2024 и 09.05.2024 у нас выходные дни. Вы можете оставить сообщение в чате, мы обязательно ответим!

Корзина

Корзина

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

Как написать динамический MDX-запрос

Самородов Федор Анатольевич: Как написать динамический MDX-запрос

СФА

Все умеют писать динамические SQL-запросы. Составляем строку и передаём её команде EXECUTE или процедуре sp_ExecuteSQL:

Динамические SQL-запросы: EXECUTE, sp_ExecuteSQL

Многие также в курсе, чем эти два способа различаются. А что насчёт динамических MDX-запросов?

Ведь в языке MDX синтаксические ограничения заметно более суровы, чем в SQL, и без динамического формирования MDX-выражений бывает тяжело.

Для работы с динамическими запросами в MDX имеется целый набор функций, названия которых начинаются с "StrTo":

  • StrToMember
  • StrToSet
  • StrToTuple
  • StrToValue

В отличие от языка SQL, при работе с многомерными базами данных мы строим динамически не весь запрос целиком, а отдельные его части: член размерности, перечисление, кортеж или скалярное значение.

Для использования динамической адресации члена размерности используйте функцию StrToMember:

Динамический MDX-запрос: StrToMember

Синтаксически корректное перечисление можно сконструировать функцией StrToSet:

Динамический MDX-запрос: StrToSet

StrToTuple поможет собрать кортеж из координат или из их частей:

Динамический MDX-запрос: StrToTuple

А StrToValue позволяет интерпретировать выражение как ячейку:

Динамический MDX-запрос: StrToValue

Подобные динамические конструкции могут пригодиться вам при параметризации MDX-запросов или при индивидуальной нарезке куба с привязкой к текущему пользователю.

Подробнее об этом Вы сможете узнать на курсе: М50578A: Язык запросов MDX для аналитических служб SQL Server (OLAP)

envelope

Спасибо! Вам на e-mail отправлено письмо со ссылкой для подтверждения

Если письмо не пришло, поищите его в папке со спамом или повторите подписку

email-checked.png

Вы подписались на рассылку

Спасибо за обращение! Ваш менеджер свяжется с Вами в течение нескольких минут.