logo

5 февр. 2015 г.

BIEE 11g: тестирование репозитория с помощью DbFit

Все метаданные, описывающие правила трансформации данных из физических источников (DWH, файлы и т.д.) в витрины (предметные области) Oracle BI, содержатся в репозитории Oracle BIServer.

Очевидно, что в ходе создания этих правил могут быть допущены ошибки. Либо в процессе доработки репозитория могут быть допущены неточности, приводящие к некорректной работе трансформаций данных. И как результат - несмотря на корректные данные в физических источниках, пользователи будут получать ошибочные данные в отчетах BI.

Данная статья описывает настройки автоматизированного тестирования репозитория метаданных BI с помощью DBFit.

Основная идея решения по тестированию заключается в том, что по каждой предметной области репозитория BI создается пара SQL запросов:
один к BIServer (тот логический SQL запрос, который отправляет BIPresServer к BIServer; его можно увидеть на вкладке "Дополнительно" в режиме редактирования анализа BI),
другой к DWH (запрос-эталон).
Результаты выполнения запросов сравниваются и возвращается дельта. Если дельта не пустая, то тест считается проваленным.

В этой конструкции основным элементом является Java Stored Procedure, созданная в БД Oracle (DWH) и осуществляющая доступ к BIServer по протоколу JDBC. Полученные из BIServer данные процедура записывает в global temporary table.
В дальнейшем вспомогательная PL/SQL процедура генерирует курсор, сравнивающий данные из gtt-таблицы и результаты запроса-эталона к DWH.

DBFit же является удобным инструментом по быстрому созданию и запуску таких тестов.

4 февр. 2015 г.

BIEE 11g: запрет просмотра результатов анализа без фильтров

Часто вижу, что пользователи Oracle BI при создании новых анализов
работают с моделью данных сразу на вкладке "Результаты" редактора.

В идеальном мире это не несет проблем. Если у вас устойчивый к нагрузкам репозиторий (нет сложных логических схем - одни "звезды"), если у вас используется хранилище данных (с партиционированием; с шардингом; с агрегатами и query rewrite).
В таком случае запустите вы запрос по всем данным - произойдет переписывание запроса к таблице-агрегату (ROLAP).

Но реалии таковы, что применяются сложные модели данных, нет агрегатов, либо они некорректно применяются.
И тогда подобная привычка - строить анализы в режиме Preview без каких-либо фильтров - пагубно влияет на общую производительность системы. Особенно, когда много одновременно работающих пользователей.

Предлагаю простое решение, которое препятствует пользователям переходить на вкладку "Результаты" анализа без применения фильтров.


2 февр. 2015 г.

BIEE 11g: instanceconfig.xml (11.1.1.7.1)

Так и не нашел в документации и блогосфере полной структуры файла instanceconfig.xml
В итоге выкладываю сам для версии OBIEE 11.1.1.7.1 со значениями по умолчанию.

11 дек. 2014 г.

BIEE11g: Mapviewer + мозаичная карта OSM Mapnik

Всем привет!

Сегодня в очередной раз хочу вернуться к теме визуализации данных Oracle BI на географической карте.
Тема эта в моем блоге мусолилась часто: BIEE 11g: Mapviewer + OpenStreetMap, BIEE11g: Mapviewer + OpenStreetMap как WMS + HttpProxy, BIEE 11g: WriteBack на карте
Но мне все равно есть что рассказать нового - как показывать в качестве фоновой карты картинки-ячейки мозаичной карты от LGPL-ресурса OpenStreetMap Mapnik.

Зачем это нужно?
Чтобы показывать в BI "красивые карты" с графической информацией о морях, реках, дорогах, рельефом местности, городами и т.д.
Все то, к чему мы привыкли, используя общедоступные картографические ресурсы (Google Maps, Yandex Maps etc). Если не использовать подгрузку этих внешних данных в виде картинок, то придется хранить в БД Oracle в виде SDO_GEOMETRY все привычные пользователям геометрии ("и тропинку, и лесок"), откуда-то брать эти данные, поддерживать в актуальном виде, и визуализировать с помощью mapviewer, нагружая его отрисовкой множества геометрических слоев, не связанных непосредственно с задачами аналитики в BI.

Но у нас уже настроена подгрузка фоновой карты в javascript-функциях
Да, и я сам описывал как это сделать в сообщении BIEE 11g: Mapviewer + OpenStreetMap. Но минус этого решения в том, что для отображения карты в браузере пользователя необходимо подключение к интернету. Также следует понимать, что при работе сотни пользователей с аналитическим отчетом в BI, данные которого визуализируются на карте, каждый пользователь будет скачивать из интернета одни и те же картинки-ячейки, увеличивая интернет-трафик.

Но разве не эта же проблема была решена в сообщении BIEE11g: Mapviewer + OpenStreetMap как WMS + HttpProxy
Да, именно. Вот только там есть ряд неточностей, связанных с тем, что WMS (web map service) ресурсы с данными OpenStreetMap периодически меняют свои адреса - http://wiki.openstreetmap.org/wiki/WMS. А также неприятность в том, что эти WMS ресурсы содержат не очень подробные данные по России. Гораздо более качественная, подробная и красивая картинка получается при работе с OSM Mapnik.


21 апр. 2014 г.

BIEE11g: неиспользуемые подсказки инфопанелей

Привет!

Сегодня потребовалось просмотреть веб-каталог рабочей среды Oracle BI на предмет наличия неиспользуемых подсказок инфопанелей.
Инфопанелей много, подсказок еще больше - разумеется, подобную процедуру следует автоматизировать.

6 апр. 2014 г.

BI Publisher 11g + R (time series forecasting)

Всем привет!
Сегодня наконец появилось графоманское настроение и я хочу описать решение по использованию среды вычислений R в Oracle BI.
Думаю, не нужно говорить, что из себя представляет R.
Очевидно, что это крутая штука – раз компания Oracle включила ее в платную опцию Advanced Analytics (Oracle R Enterprise).
Крутая она хотя бы потому, что мировым научным сообществом под нее пишется огромное количество бесплатных библиотек, позволяющих анализировать ваши данные. Так в данном сообщении я продемонстрирую использование библиотеки forecast, позволяющей строить прогнозные модели данных временных рядов.
Библиотеку разработал и поддерживает профессор Rob Hyndman

Хочу заметить, что опция Oracle Advanced Analytics платная.
Да, она обеспечивает тесную интеграцию ваших данных (внутри БД Oracle) и вычислительного движка R, что существенно ускоряет обработку действительно больших объемов данных.
Но что если данных, которые нужно обрабатывать, у вас не очень немного. Или денег на оплату опции жалко…
В этом случае можно вполне обойтись интеграцией R-среды и вашей БД аналогично приводимому далее примеру.

А тут будет картинка для привлечения внимания.
А именно – результат работы в виде отчета Oracle BI Publisher, отображающего прогноз среднемесячной температуры на основании накопленной статистики температур.

2 февр. 2014 г.

BIEE: YearAGO и 29 февраля

Привет!
На дворе февраль. И я хочу рассказать о пути решения следующей проблемы:


Как видно из скриншота - при детализации YearAGO-показателя до разреза дней в феврале года, следующего за високосным, total-значение по дням не равно значению показателя в разрезе месяца.
Очевидно, проблема возникает из-за того, что в феврале 2013 года 28 дней, а в феврале 2012 - 29 дней.
В приведенном примере YAGO-показатель определяется стандартной time-series функцией AGO. Но этого недостаточно...
Итак, как обработать подобные ситуации?

21 окт. 2013 г.

BI Publisher 11g: выгрузка BLOB из БД

Всем привет!
Сегодня расскажу о небольшой доработке Oracle BI Publisher,
которая позволит выгружать сохраненные в БД файлы в виде BLOB.


30 сент. 2013 г.

BIEE 11g: WriteBack на карте

Всем привет!
Наверняка, многие из читателей этого блога так или иначе использовали функциональность аналитики "на карте".
Причем, скорее всего, применяли отображение показателей по определенным точкам. Например, объем реализации по магазинам… С выделением цветом или изменением размера точки-"пузырька" в зависимости от значения показателя.




Для этого нужно не так уж много (не буду вдаваться во все детали) – основная сложность тут лишь в корректных значениях координат ваших точек.
Получить эти координаты можно различными способами: GPS-приборами, поиском по какому-нибудь картографическому сервису нужного дома (Google Map это отлично умеет) и т.д.
Но все это требует времени и сил.
А что если задача усложняется нерегулярностью появления новых гео-точек для бизнес-анализа?
Например, каждый запуск ETL-процедур может привести к появлению новых локаций с пустыми координатами в DWH,
либо как в моем случае – необходимо обеспечить возможность создания пользователем новых гео-локаций (магазины-конкуренты), а также возможность позиционирования этих точек на карте.

Я эту задачу решил следующим образом:


22 сент. 2013 г.

BIEE11g: поиск в фильтрах без учета регистра

Всем привет!
Сегодня хочу рассказать о такой штуке, как смена значения по умолчанию галки "С учетом регистра" в фильтрах BI11g.
Если говорить точнее, то значение по умолчанию - checked.