MDX (многоразмерные выражения) — мощный язык обработки данных и запросов.
MDX позволяет выполнять указанные ниже задачи.
создавать запросы и отчеты на основе данных и метаданных в кубах Essbase,
вставлять данные в куб Essbase,
экспортировать данные из куба Essbase.
MDX-запрос — это отдельная MDX-инструкция с одним набором результатов, который применяется к одному кубу.
Отчет MDX представляет собой один запрос MDX, сохраненный в контексте куба. Доступ к отчетам MDX можно получить из Smart View и веб-интерфейса Essbase.
Сценарий MDX — это файл с расширением .mdx
, который можно загрузить и запустить из раздела "Задания" или Smart View. В сценариях MDX должны использоваться только инструкции вставки и экспорта MDX. Для анализа данных сетки используйте отчеты MDX, а не сценарии MDX.
Темы:
Можно сохранять и обрабатывать запросы в веб-интерфейсе Essbase с помощью отчетов MDX. Для создания отчета требуется минимальное разрешение "Менеджер баз данных".
Определение макетов с помощью вкладки "Специализированный анализ" может не всегда быть самым эффективным способом создания сложного отчета. Если вы точно знаете, что вы хотите запросить, вы можете использовать MDX для создания запроса для заполнения сетки.
Дополнительные сведения о MDX см. в разделах MDX и Создание запросов MDX.
Работа с отчетами зависит от доступа к кубу.
Пользователи как минимум с ролью "Доступ к базам данных" на уровне приложений могут обрабатывать сохраненные отчеты MDX, созданные другими пользователями. Данные, которые пользователь видит в отчете, зависят от доступа пользователя к фильтрам.
Помимо визуализации сохраненных отчетов, пользователи с ролью "Доступ к базам данных" могут экспортировать наборы результатов в различных форматах: HTML, CSV, Excel и JSON.
Пользователи с ролью "Доступ к базам данных" также могут просматривать запрос MDX, который определяет отчет, нажав на меню Действия рядом с именем отчета и выбрав Просмотр.
Если у вас есть хотя бы роль "Менеджер баз данных", вы можете использовать отчеты так же, как и пользователи с ролью "Доступ к базам данных". Кроме того, отчеты можно редактировать и удалять с помощью меню Действия.
Если вы являетесь администратором сервиса, вы также можете использовать кнопку Выполнить как, чтобы имитировать других пользователей и проверить их доступ к данным. Это может быть полезно для тестирования фильтров, назначенных различным пользователям.
Примеры MDX в этом разделе демонстрируют специальные типы анализа, которые можно выполнить с помощью отчетов MDX, которые трудно выполнить в представлении "Специализированный анализ".
Указанные ниже примеры предназначены для работы с кубом Sample Basic.
Отчет о метаданных
В приведенном ниже примере возвращаются только метаданные (имена элементов, но без данных).
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
Возврат сетки:
Отчет об атрибутах
В приведенном ниже примере для столбцов используются элементы из измерения атрибута.
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
Возврат сетки:
Отфильтрованный отчет
В приведенном ниже примере используется ограничитель (фраза WHERE), чтобы ограничить запрос до "Cola". Кроме того, функция "Фильтр" ограничивает рынки уровня 0 в запросе теми, которые имеют отрицательную прибыль.
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
Возврат сетки:
Отчет UDA
В приведенном ниже примере показаны данные Product для элементов измерения Market, имеющих пользовательский атрибут (UDA) "Major Market". Ограничитель (фраза WHERE) ограничивает запрос, включив в него только данные Sales.
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
Возврат сетки:
Язык MDX не только полезен для анализа на основе сетки, но также позволяет копировать и обновлять подмножества многоразмерных данных.
Фраза Insert языка MDX позволяет обновить куб данными из вычисленного (нефизического) элемента, определяемого с помощью MDX.
Фраза Export языка MDX позволяет сохранять и экспортировать результаты запросов в виде подмножеств данных для последующего просмотра и импорта.
Инструкции Insert и Export языка MDX могут выполняться как сохраненные MDX-скрипты.
Дополнительные сведения об инструкциях Insert и Export языка MDX см. в разделах Спецификации фразы Insert языка MDX и Спецификации фразы Export языка MDX.
Используйте сценарии MDX, если необходимо выполнить операции вставки или экспорта данных.
Для анализа данных сетки используйте отчеты MDX. См. раздел "Анализ данных с помощью отчетов MDX".
Чтобы использовать MDX-сценарии, выберите рабочий процесс.
Используйте эту процедуру для записи MDX-сценариев в текстовом редакторе и их передачи в Essbase.
Напишите MDX-сценарий в текстовом редакторе и сохраните его в файле с расширением имени .mdx
.
Загрузите MDX-сценарий в каталог приложения или куба в разделе Файлы веб-интерфейса Essbase.
Запустите MDX-сценарий из раздела Задания или из Smart View, с помощью инструмента Расчет на ленте Essbase.
Используйте эту процедуру для записи сценариев MDX в редакторе сценариев на кубе и их запуска из раздела Задания.
На странице "Приложения" откройте приложение, а затем откройте базу данных (куб).
Нажмите Создать, а затем нажмите Сценарии MDX.
Нажмите Создать, введите имя сценария и нажмите ОК.
Запишите MDX-сценарий. Вам могут помочь дерево элементов и список функций.
Проверьте и сохраните сценарий, затем закройте редактор сценариев.
Запустите MDX-сценарий из раздела Задания (см. Запуск MDX) или, если используется Smart View, с помощью инструмента Расчет на ленте Essbase.
На странице "Приложения" разверните узлы приложения и куба.
В меню "Действия" куба выберите команду Проверить.
Нажмите Сценарии, а затем MDX-сценарии.
Нажмите +, чтобы открыть редактор сценариев.
Запишите MDX-сценарий. Вам могут помочь дерево элементов и список функций.
Проверьте и сохраните сценарий, затем закройте редактор сценариев.
Запустите MDX-сценарий из раздела Задания (см. Запуск MDX) или, если используется Smart View, с помощью инструмента Расчет на ленте Essbase.
Это рабочий процесс создания MDX-сценариев с помощью рабочей книги приложения и их запуск из раздела Задания.
Работая со MDX-сценариями, используйте приведенные ниже рекомендации.
Используйте сценарии MDX для выполнения операций вставки или экспорта данных.
Для анализа сетки используйте отчеты MDX вместо сценариев MDX.
MDX-сценарии могут дополнительно включать переменные подстановки времени выполнения.
Для использования в Smart View MDX-сценарии с переменными подстановки времени выполнения должны использовать синтаксис XML в команде расчета SET RUNTIMESUBVARS, включая <RTSV_HINT>
.
Чтобы задать переменную подстановки времени выполнения так, чтобы она вычисляла только видимый срез данных в Smart View, задайте переменной подстановки времени выполнения значение POV и тип данных элемент.
В случае запуска из веб-интерфейса Essbase в MDX-сценариях могут использоваться переменные подстановки, но не переменные подстановки времени выполнения. Чтобы использовать в сценариях многоразмерных выражений переменные подстановки времени выполнения, такие сценарии необходимо запускать из Smart View, используя инструмент Расчет на ленте Essbase.
Ниже приведены примеры MDX-сценариев, которые можно запускать в кубе Sample Basic, либо из раздела "Задания", либо из Smart View.
MDX Insert
Такой сценарий .mdx
можно сохранить и выполнить из раздела Задания или диалогового окна Расчет в Smart View.
INSERT "([Measures].[Payroll])" TO "([Measures].[Revised_Payroll])" INTO [Sample].[Basic] FROM ( SELECT {[Measures].[Payroll]} ON COLUMNS, {Crossjoin (Crossjoin(Descendants([Year]), Crossjoin(Descendants([Scenario]), Descendants([Product]))), Descendants([Market]))} ON ROWS FROM [Sample].[Basic] );
В приведенном выше примере предполагается, что вы ранее добавили показатель Revised_Payroll в Sample Basic.
Экспорт многоразмерных выражений
Такой сценарий .mdx
можно сохранить и выполнить из раздела Задания или диалогового окна Расчет в Smart View.
EXPORT INTO FILE "sample01" OVERWRITE SELECT {[Mar],[Apr]} ON COLUMNS, Crossjoin({[New York]}, Crossjoin({[Actual],[Budget]}, {[Opening Inventory],[Ending Inventory]})) ON ROWS FROM [Sample].[Basic] WHERE ([100-10])
После запуска сценария файл экспорта sample01.txt
сохраняется в папке куба данного каталога файлов:
Market,Scenario,Measures,Mar,Apr New York,Actual,Opening Inventory,2041,2108 New York,Actual,Ending Inventory,2108,2250 New York,Budget,Opening Inventory,1980,2040 New York,Budget,Ending Inventory,2040,2170
Экспорт многоразмерных выражений с использованием переменной подстановки времени выполнения
Такой сценарий .mdx
можно сохранить и выполнить из диалогового окна Расчет в Smart View.
SET RUNTIMESUBVARS { States = "Massachusetts"<RTSV_HINT><svLaunch> <description>US States</description> <type>member</type> <allowMissing>false</allowMissing> <dimension>Market</dimension> <choice>multiple</choice> </svLaunch></RTSV_HINT>; }; EXPORT INTO FILE "sample002" OVERWRITE SELECT {[Mar],[Apr]} ON COLUMNS, Crossjoin({&States}, Crossjoin({[Actual],[Budget]}, {[Opening Inventory],[Ending Inventory]})) ON ROWS FROM [Sample].[Basic] WHERE ([100-10])
После запуска сценария файл экспорта sample002.txt
сохраняется в папке куба данного каталога файлов:
Market,Scenario,Measures,Mar,Apr Massachusetts,Actual,Opening Inventory,-54,-348 Massachusetts,Actual,Ending Inventory,-348,-663 Massachusetts,Budget,Opening Inventory,-160,-520 Massachusetts,Budget,Ending Inventory,-520,-910