Essbase SQL Interface (for Oracle) ч.1

Продолжаю тему использования XMLA к Oracle Essbase, описав как сделать полноценный SQL интерфейс в Oracle Database к кубу Essbase. Конечно, данное решение можно назвать «фриковым», так как оно отнюдь не тривиально. Но чем черт не шутит, возможно это то что Вам нужно, так как оно позволяет опубликовать данные Essbase для тех отчетных систем, которые только и умеют что работать с SQL. Например, теперь Apex, Pentaho, Jasper и прочие бесплатные BI инструменты доступны для использования Essbase.

Итак, приступим: я опишу процесс разработки для Oracle Biee, по мере того как буду прикручивать к Essbase прочие отчетники, буду дополнять другими особенностями интеграции.

Архитектурно процесс передачи данных из Essbase в Oracle SQL выглядит следующим образом:

EssBase -> Provider Services ( WEB SOA ) -> Oracle PipLine Function -> BI EE.

Выборка данных из Essbase происходит с помощью MDX запроса, затем данные передаются в Oracle Analytic Provider Services (APS) (который используется для работы SmartView).
APS публикует полученные данные в WEB, используя XML формат. Oracle c помощью PL-SQL пакета UTL_HTTP забирает данные и преобразовывает их в табличный вид.
Для Real-Time доступа к Essbase используется множество VIEW, в которых предопределен выбираемый срез. Доступ к этому множеству VIEW осуществляется через агрегирующее представление вида

select ‘USD’ Dim1,Dim2,Dim3,Dim4,Dim5,VAlue from tblFunction1
union all
select ‘RUR’ Dim1,Dim2,Dim3,Dim4,Dim5,VAlue from tblFunction2
….
select ‘EUR’ Dim1,Dim2,Dim3,Dim4,Dim5,VAlue from tblFunction3

Это агрегирующие VIEW уже публикуется в отчетной системе.

Итак, более подробно по каждому шагу

  • Пишем MDX запрос
  • забираем данные из APS
  • продолжение следует ..
  • .