BI EE &OLAP Андрей Пивоваров on 05 May 2009 03:01 pm
На OTN появился BI EE плагин для AWM
Хорошая новость, на OTN выложили плагин для Analytic Workspace Manager 11.1.0.7, который позволяет создавать в репозитории BI EE правильное описание связки с OLAP кубами.
Что он делает и почему важен?
Те, кто читал мое описание OLAP 11g знают, что для извлечения данных из OLAP опции в Oracle Database используется SQL, работающий над CUBE_TABLE.
В результате, если мы делаем запрос к кубу, у нас получится примерно такая картинка:
SELECT time, product, customer, channel, sales FROM units_cube_view WHERE rownum < 15; TIME PRODUCT CUSTOMER CHANNEL SALES --------- ------- -------- ------- ---------- TOTAL TOTAL TOTAL TOTAL 4000968 CY1999 TOTAL TOTAL TOTAL 330425 CY2003 TOTAL TOTAL TOTAL 534069 CY1998 TOTAL TOTAL TOTAL 253816 CY2005 TOTAL TOTAL TOTAL 565718 CY2006 TOTAL TOTAL TOTAL 584929 CY2004 TOTAL TOTAL TOTAL 587419 CY2000 TOTAL TOTAL TOTAL 364233 CY2002 TOTAL TOTAL TOTAL 364965 CY2001 TOTAL TOTAL TOTAL 415394 CY2000.Q1 TOTAL TOTAL TOTAL 88484 CY2001.Q2 TOTAL TOTAL TOTAL 97346 CY2001.Q3 TOTAL TOTAL TOTAL 105704 CY2005.Q3 TOTAL TOTAL TOTAL 138953
Дальше цитата из моей статьи:
И вот тут видно основное отличие данных, которые достаются из OLAP от данных, которые берутся из обычных таблиц Oracle. Обратите внимание на первую строчку, где четыре слова \’TOTAL\’. В этой строке – агрегат (сумма) по продажам по всем измерениям. Если бы мы хотели достать сумму по всем измерениям из обычной таблицы, нам нужно было написать что-то вроде
select sum(sales) from units_factА OLAP уже выдает все возможные агрегаты, поэтому вместо суммирования, нам нужно в условиях SQL запроса WHERE описать фильтр этой строки. Само суммирование делать не надо. Сумму уже посчитал OLAP сервер.
Это, естественно, накладывает некоторые условия на программирование SQL над OLAP. Например, в том же BI EE нужно специальным образом описать правила обсчета уровней иерархий, что бы не пошло суммирование по уже агрегированным данным.
Собственно, в BI EE нужно для каждого уровня в каждом измерении описать специальное правило, которое заставляет BI EE не считать сумму, складывая цифры с нижних уровней иерархии, а брать готовую сумму как ее посчитал OLAP сервер.
Работа по прописыванию всех этих правил долгая и муторная, не говоря уж о том, что можно ошибиться. Если у вас 5 измерений по 5 уровней иерархии, таких условий надо прописать 25.
Новый плагин, как раз и делает простую вещь – он по описанию куба в AWM генерирует скрипт на внутреннем языке репозитория BI – UDML и в этом скрипте содержится правильное описание кубов, связей между таблицами измерений, структуры иерархий и правил извлечения данных из CUBE_TABLE и т.д.
Я попробовал поставить этот плагин и все работает примерно так, как показано в этом видеоролике. И работает очень быстро.
Хорошо еще тут то, что BI EE теперь стало очень просто использовать в качестве смотрелки для Oracle OLAP. До этого это тоже можно было сделать, но мало кто мог сам все правильно прописать в репозитории. Сейчас прописать в BI EE куб, сделанный в AWM можно за несколько минут.
Но чтобы все сделать правильно нужно прочитать эту инструкцию, так как после того как прописаны сами таблицы, изменения и т.д., нужно сделать еще несколько дополнительных действий, например создать специальную группу пользователей. Кроме того, важно, чтобы запросы в Answers строились не под Administrator-ом, так как насколько я знаю, Administrator игнорирует ограничения, которые нужны для правильной работы OLAP запросов.
AWM и плагин можно скачать тут.
__________________________________Читайте также:
- Впечатления от Oracle OLAP 11g. Часть 1.
- Впечатления от Oracle OLAP 11g. Часть 2.
- OLAP View Generator для AWM
- Что такое OLAP? Часть 2. Oracle Express и Oracle OLAP
- Oracle BI EE 10.1.3.3 на OTN
on 30 Jun 2009 at 11:27 am 1.Олег said …
Очень нужная функциональность, но радость так и остается неполной – плагин поддерживает экспорт метаданных только одной иерархии для измерения.
on 01 Jul 2009 at 11:23 am 2.Андрей Пивоваров said …
Олег, мне почему-то кажется, что это ограничение BI EE, а не плагина.
on 02 Jul 2009 at 9:33 am 3.Олег said …
Почему же, OBI прекрасно поддерживает несколько иерархий. Кроме того, интересно сравнить примеры построения метаданных репозитория для OLAP 10й версии и для 11й (Oracle by example). Подход, который использовали для 10ки, позволяет (как мне кажется) прописывать несколько иерархий, но там очень много “ручной” работы.
on 27 Aug 2010 at 3:57 pm 4.Сергей said …
Тут требования и ограничения для плагина
http://www.oracle.com/technetwork/database/options/olap/awm-plugin-biee-099449.html
Описание:
Requirements
The following requirements must be met in order to use this plug-in:
* The default hierarchy of each dimension must be a level based hierarchy.
* Each dimension must include the long description attribute.
* The ‘Create level attribute columns in views’ option must be selected for the long description attribute of each dimension. (This can be set on the General tab of the attribute.)
* Cubes must have at least one measure.
Limitations
This release has the following limitations:
* Only the default hierarchy in a dimension is exported to the OBIEE repository.
Откуда следует, что только default иерархия экспортируется в BI EE