Уважаемые слушатели! Обращаем ваше внимание, что 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-запросе

СФА

У каждого, кто работает с многомерными запросами, рано или поздно обязательно возникает желание задействовать переменные. Но, вот беда, переменных-то в языке MDX нет!

Что же делать, когда очень хочется написать вот такую конструкцию:

Используйте переменные в MDX-запросе

Есть два универсальных способа использования переменных в MDX-запросах. По крайней мере один из них вам обязательно подойдёт.

Во-первых, вы можете формировать MDX-запрос динамически, причём средствами Transact-SQL. А для выполнения передавать его аналитическому серверу через механизм связанных серверов (Linked Server). Вот так:

Используйте переменные в MDX-запросе

Здесь MDX_AW - это связанный SSAS-сервер, ссылающийся на вашу многомерную базу данных. Результат, разумеется, вы получите в табличном виде, как и положено в языке SQL. Кстати, обратите внимание на названия столбцов.

Такое решение, конечно, нельзя назвать изящным - это классический костыль. Зато, он выручит вас в любой ситуации - это универсальный способ.

Во-вторых, в некоторых ситуациях вы можете попробовать обойтись родными средствами MDX. Зачем вам понадобились переменные в MDX-сценарии? Скорее всего для параметризации запроса. А параметризовать запрос можно и штатными средствами, если переписать его в формате XMLA:

Используйте переменные в MDX-запросе

Разумеется, для этого ваша аналитическая система должна уметь принимать XMLA-сценарии из приложения. А также учтите, что вам скорее всего придётся работать в XML-формате не только с самим запросом, но и с результатом:

Используйте переменные в MDX-запросе

Зато, в отличие от варианта со связанным OLAP-сервером, вы получите настоящий многомерный результат, а не табличный.

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

envelope

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

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

email-checked.png

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

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