Теперь – самое важное, объединяем подход XMLA и MDX . и получаем данные Essbase в SQL интерфейсе Oracle, пока вот в таком «строчном» виде
Этот PL-SQL пакет можно забрать , вот отсюда
select * from ( table( xmla_get_data_PKG.getMdxValue(
vMdxQuery =>’
SELECT NON EMPTY {( [Actual])} ON COLUMNS,
NON EMPTY
CrossJoin (CrossJoin ([Product].children, [Market].children),
CrossJoin([Year].Children, [Measures].children))
ON ROWS
FROM Sample.Basic’,
vApsConnect=>’http://hypadmin:hyperion@localhost:13080/aps/XMLA’,
vEsbConnect=>’localhost’)
)
)
Результат выполнения представлен ниже
немного по используемым параметрам
1)vMdxQuery – тело MDX запроса
SELECT NON EMPTY {( [Actual])} ON COLUMNS,
NON EMPTY
CrossJoin (CrossJoin ([Product].children, [Market].children),
CrossJoin([Year].Children, [Measures].children))
ON ROWS
FROM Sample.Basic‘
2)vApsConnect – строчка доступа к APS со строкой аутентификации
vApsConnect=>’http://hypadmin:hyperion@localhost:13080/aps/XMLA’
3)vEsbConnect – сетевое имя essbase сервера
vEsbConnect=>’localhost’
Вместо послесловия
В публичный доступ с OpenSource лицензией выложен базовая реализация программы по извлечению в SQL данных из Essbase. Для коммерческого использования есть утилита, в которой реализовано дополнительно
1) Возможность обращения к нескольким APS серверам
2) Кеширование результатов запросов
3) Параллельный запуск запросов к APS
4) Преобразование результатов к табличному формату
5) Параметризация запроса MDX в зависимости от значений параметров в разделе WHERE SQL выражения