Feed on Posts or Comments

Answers &BI EE &BI Publisher &Ликбез &Общее Андрей Пивоваров on 19 Mar 2007 10:49 pm

Что такое Oracle BI Enterprise Edition? Часть 2.

Продолжение. Начало здесь.

В прошлой части я написал об основе Oracle Business Intelligence Enterprise Edition – аналитическом сервере. Но сервер это что-то, что скрыто от глаз конечных пользователей. В этой части, я расскажу о тех компонентах, которые уже ближе к конечному пользователю.

Когда мне самому приходится анализировать данные, лежащие в какой то базе, обычно мне хватает какого-нибудь инструмента вроде Oracle Discoverer, а то, что нельзя или долго делать в Discoverer я всегда могу написать на SQL. Мне повезло – я более-менее знаю SQL и могу им пользоваться. Но когда приходится внедрять систему BI для конечных пользователей возникает несколько проблем. И многие из них нетехнологические.

На любом предприятии есть масса людей, которые завяляют что им нужна бизнес-аналитика. На практике же получается что очень немногие могут пользоваться даже достаточно дружественным Discoverer или другим построителем отчетов. И чем выше такой человек в иерархии организации, тем такая ситуация встречается чаще и тем сложнее ему осваивать какие-то инструменты. Да и часто такие люди вообще \”на Вы\” с компьютерами. Что делать, навыки и способности у всех разные.

Можно условно выделить несколько групп пользователей бизнес аналитики:

  1. Очень немногочисленная группа пользователей, которые могут писать сами SQL и для них необязательно причесывать метаданные для лучшего понимания
  2. Чуть более широкая группа пользователей, которые SQL писать не умеют, но если им дать инструмент и привести данные в \”человеческий\” вид, в состоянии сами, с использованием инструмента сделать запрос к базе и создать отчет или модифицировать существуюущий под себя
  3. Следующая группа, еще более многочисленная, уже не в состоянии написать отчет самостоятельно, даже используя инструмент, но в состоянии вспомнить и открыть из списка тот готовый отчет, в котором содержится нужная им цифра
  4. Еще дальше стоят люди, которые уже не в состоянии сориентироваться даже в списке готовых отчетов и хотят, чтобы кто то им сгруппировал наиболее часто встречающиеся отчеты в гуруппу и могут смотреть на какие то индикаторы, если их предварительно обучить.
  5. Ну и, конечно, существует группа пользователей, которые вообще не пользуются компьютерами, либо пользуются в лучшем случае для чтения почты или как пишущей машинкой. Таким проще поднять трубку и позвонить кому то с вопросом что происходит там-то и там-то и как сегодня выполняется план

Все упомянутые группы пользователей нуждаются в каких-то цифрах, но в силу человеческих особенностей и способностей, не все являются \”специалистами по компьютерам\”, что не мешает им управлять большими предприятиями и зарабатывать большие деньги.

В общем, ситуация чем-то напоминает известный армейский анекдот:

В армии обязанности строго определены:
– Все до старшего лейтенанта включительно должны уметь работать самостоятельно.
– Капитан должен уметь организовать работу.
– Майор должен знать, где что делается.
– Подполковник должен уметь доложить, где что делается.
– Полковник должен самостоятельно найти место в бумагах, где расписаться.
– Генерал должен уметь самостоятельно расписаться, где укажут.

В жизни, также как и в армии \”генералы\” очень важны и часто BI проекты затеваются для обеспечения информацией именно их. Но пользоваться системой они умеют только \”где укажут\”.

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

Некоторые мелочи позволяют пользователю сделать одно и тоже действие на порядок быстрее или медленне, некоторые позволяют представить информацию более или менее удобно.

Если бы не было очень важных людей из групп 3, 4 и 5, то все было бы более-менее просто. Поставил систему типа Discoverer – и все счастливы. Но из за того, что эти люди есть, выбор в пользу той или иной платформы делается исходя из удобств или неудобств платформы для этих пользователей.

Итак, что же предлагает Oracle в пакете Oracle BI EE для конечных пользователей?
Для иллюстраций можно взять презентацию отсюда.
Там даже есть несколько скриншотов.

Презентационный сервер.
Помимо аналитического сервера, описанного в прошлой части, в состав пакета входит презентационный сервер (Presentation Server), который отвечает за создание пользвательского веб-интерфейса и выдачи его через какой то веб-сервер в браузер пользователю. Примечательно, что весь пользовательский интерфейс в Oracle BI EE веб-ориентированный, при этом не используются технологии плагинов или апплетов. То есть, на рабочее место пользователя ничего не устанавливается, для работы нужен только браузер. Если вы слышали о технологии AJAX – то это оно.
В составе презентационного сервера есть подкомпоненты.

Answers.
Это веб-ориентированный построитель отчетов. Для пользователей Discoverer – этот инструмент по своей идее выполняет ту же функцию, что и Discoverer Plus. С его помощью можно создавать нерегламентированные запросы к базе, используя Drag&Drop интерфейс. Пользователь работает в понятной ему терминологии.

Например, если он хочет посмотреть объем продаж продукта на дату, он должен выбрать показатель \”Объем продаж\”, из измерения \”Продукты\” выбрать уровень \”Продукт\”, а из измерения \”Период\” выбрать уровень \”Дата\”

Где на самом деле в базе данных (и одна ли эта база данных) находится \”Объем продаж\” и каким запросом его нужно обсчитать, – его не интересует.

Как его посчитать – кодирует IT специалист и прописывает это в репозитарии, который использует аналитический сервер.

Отчеты возможно делать активными. Пользователь может опускаться по иерархии для получения более детальных данных. Например с уровня \”Месяц\” можно опуститься до уровня \”День\” и дальше до уровня \”Час\”

Цифры можно отображать не только в виде цифр, но и в виде графиков, сводных таблиц, светофоров, индикаторов, тикеров и проч. Можно даже создавать свои собственные правила отображения данных.

Интересно, что при желании, в Answers можно сделать прямой запрос к базе, минуя слой метаданных. Это полезно в том случае, если написать SQL к базе будет быстрее, чем прописать все в метаданных и потом на их основе содать запрос.

Конечно этой возможностью стоит пользоваться с осторожностью, поэтому по умолчанию она отключена.

Информационные панели.

Информационные панели или в оригинале Dashboards – это способ группировки готовых отчетов для того, чтобы предоставить пользователю единый взгляд на какую-то область деятельности предприятия.

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

Можно создать множество панелей для разных типов пользователей. Например маркетолог будет видеть один набор страниц, а финансист другой. Хотя в некоторых случаях они будут смотреть на одни и те-же цифры, но или названные по-разному или сгруппированные более удобно для нужд пользователя этого типа или группы.

Информационные панели позволяют предоставить доступ к аналитике пользвателям групп 3 и 4. Хотя если даже вы профессиональный аналитик, все равно удобно иметь набор готовых информационных панелей для себя. Для экономии времени.

В целом это выглядит, как такой аналитический портал. В него даже можно вставлять не только отчеты Answers, но и произвольный контент – ссылки на другие сайты, документы, HTML вставки и т.д.

Типичный сценарий: Какой-нибудь большой начальник на большом мониторе видит красный светофор, может нажать на него мышкой и провалиться в другой отчет, где будут показаны детали происшествия. После этого он, конечно, может написать письмо или поднять трубку и позвонить кому надо с недоумением или критикой.

BI Pubslisher

Про этот компонент можно написать отдельную большую статью и при желании даже книжку.

В двух словах – это компонент для создания прежде всего печатных отчетов и документов. То есть таких, где форма отчета часто не менее важна чем содержание. Это и отчеты в которых нужно четко прописывать шапки, боковики, строчка 59 должна быть отпечатана именно таким шрифтом с таким отступом. Это могут быть не отчеты, а какие-нибудь справки, договоры и проч. В общем все что может понадобиться предприятию вывести в виде документа, предварительно вставив туда какие то данные.

Этот продукт (а этот компонент можно купить и отдельно от пакета Oracle BI EE), изначально назывался Oracle XML Publisher и долгое время использовался как отчетный движок только в Oracle eBusiness Suite. Потом его выпустили в свободное плавание. В OEBS он также продолжает использоваться.

Когда Oracle приобрел Siebel Systems, в качестве компонента, отвечающего за печатные отчеты использовался продукт компании Actuate, но очевидно, что имея два собственных репортинговых решения (Oracle Reports и BI Publisher) для Oracle было естественно заменить его на свой продукт.

Большинство репортинговых систем представляют из себя среды с собственной средой разработки отчетов. Поэтому для того чтобы разработать отчет, нужно быть специалистом-разработчиком в этой среде.

BI Publisher
устроен немного по-другому.

В XML существует семейство трансформирующих языков – Extensible Stylesheet Language (XSL), задача которых проводить XML преобразования данных из XML в XML другой структуры и другие форматы.

Один из языков XSL называется XSL Formatting Objects (XSL-FO) Он предназначен для формирования на основе XML описаний документов практически в любом выходном формате. (PDF, XLS, HTML и т.д.)

BI Publisher является движком для таких XSL-FO преобразований.
То есть, если очень грубо, чтобы получить документ в PDF формате – нужно:

  1. Взять два исходных XML документа. В одном будет описана структура, шаблон отчета. Во втором будут описаны данные или ссылка, где их взять. То есть описание структуры и описание данных – разделены. Более того, они описываются в XML и поэтому сами эти XML можно создать с помощью чего угодно – среды разработки, собственного приложения и даже вручную в текстовом редакторе.
  2. Переслать эти два файла на BI Publisher сервер и указать в каком выходном формате сервер должен вернуть документ. На сервере лежит опять же XML описание как создать, например PDF документ.
  3. Сервер возьмет описание шаблона, описание данных и описание правил создания выходного документа, сделает преобразование и выбросит документ куда укажем или полшет на принтер или другое устройство.

Очевидно, что меняя любой из трех XML, участвующих в процессе можно:

  • На основе одного и того же шаблона, напечатать документы по разным данным. Самый очевидный вариант.
  • На основе одних и тех же данных напечатать документы по разным шаблонам.
  • На основе одних и тех же дыннх и шаблонов напечатать документ в разных выходных форматах. Например PDF или HTML для
    PDA.
  • Возможны комбинации

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

Поэтому Oracle предлагает add-in-ы для MS Word и MS Excel с помощью которых обычный пользователь может разработать шаблон отчета со шрифтами, толщинами линий в таблицах, абзацами и проч. при помощи Word, работать с которым он и так привык. После этого он сохраняет файл и отдает его IT специалисту, который регистрирует шаблон на сервере и указывает в какие ячейки из каких запросов вставлять данные.

BI Publisher может использовать отчеты Answers в качестве шаблонов отчетов, то есть используя метаданные BI Server, а может создавать отчеты минуя BI Server, обращаясь напрямую к источникам данных.

Продолжение следует.

__________________________________
Читайте также:
А еще можно почитать мой твиттер @apivovarov

34 Responses to “Что такое Oracle BI Enterprise Edition? Часть 2.”

  1. on 16 Apr 2007 at 3:54 pm 1.roman said …

    Спасибо за статью, действительно многое прояснилось.
    Но вот если взглянуть на прайс лист, то увидим 3 позиции по BI (Business Intelligence Products:Standard Edition, Suite Enterprise Edition, Server Enterprise Edition).
    Опции для Business Intelligence Server Enterprise Edition: Interactive Dashboard, Delivers, Answers, Office Plug-in, Reporting and Publishing, Data Integrator, Disconnected Analytics, Server Administrator.
    Опции для Business Intelligence Suite Enterprise Edition: Data Integrator.

    Кто такой “Business Intelligence Suite Enterprise Edition”?

  2. on 16 Apr 2007 at 5:39 pm 2.and said …

    Роман,

    Business Intelligence Suite – это когда покупаются все компоненты EE одним пакетом.
    Существует возможность купить сервер (Business Intelligence Server Enterprise Edition) и необходимые компоненты (опции) к нему. А можно купить Suite – тогда в него входит и сервер и все компоненты, за исключением, по-моему, Disconnected Analytics и Data Integrator.

    Data Integrator покупается опцией или к серверу или к Suite.

  3. on 16 Apr 2007 at 6:40 pm 3.roman said …

    Теперь понятно, спасибо

  4. on 08 May 2007 at 10:06 am 4.Александр said …

    Как показать данные в Answers в следующем случае? Измерение имеет значения ЯНВ. и ФЕВ., имеющие родителя 1КВ. Нужно одновременно показать в таблице две записи по 1КВ: СТОИМОСТЬ как “сумма за ЯНВ. и ФЕВ.” и ПАЦИЕНТЫ как хранящееся в таблице фактов значение, не являющееся “суммой за ЯНВ. и ФЕВ.”. Иначе, как сохранить “иерархию измерения”, но не менять заранее вычисленные по сложному алгоритму значения “вверху” на суммы “нижних”? Конечно можно (только для ПАЦИЕНТОВ) создать дубль измерения (ЯНВ. ФЕВ. 1КВ.) без иерархии, но как тогда совместить показ СТОИМОСТИ и ПАЦИЕНТОВ?

  5. on 10 May 2007 at 1:03 pm 5.and said …

    Не уверен что я понял вопрос, но вообще можно описывать показатели, которые привязаны к какому то конкретному уровню иерархии и на этом уровне задается в каких случаях они будут считаться. Посмотрите в пропертях показателя.

  6. on 15 May 2007 at 9:48 am 6.Александр said …

    Перейти в Dashboards в измерении на другой уровень иерархии легко в помощью Column Selector. Например с уровня “Месяц” можно опуститься до уровня “День”. Но как детализировать только одну ветку, перейти к потомкам “выбранного” значения? Показать только дни выбранного “Месяца янв.2007г.”? Есть ли аналог + – (свернуть развернуть) из ОЛАР сервера?

  7. on 16 May 2007 at 11:20 am 7.Александр said …

    на 6 вопр. решение найдено, детализация работает. Ещё вопрос. Если измерение основано на уровнях, то, например, в меню срезов я не смогу показать значения разных уровней (год и месяц) одновременно (допустим, данные хранятся на всех уровнях)? Мне нужно создать аналог измерения без уровней, слить туда все значения всех уровней и привязать таблицу фактов в бизнес-модели ещё и к этому аналогу?

  8. on 20 May 2007 at 11:52 pm 8.and said …

    Честно говоря, не понял последний вопрос.
    Может пришлете по почте пример?

  9. on 04 Jun 2007 at 12:07 pm 9.Andr said …

    Добрый день! Спасибо, статья действительно очень полезная. Но есть у меня один вопрос, ответ на который очень хотелось бы получить.
    Возможно ли использование в BI EE иерархий не по уровням, а по значениям? Например, как обработать иерархию вида:

    “Товары
    – импортные
    — дорогие
    — дешевые
    – отечественные ”

    в случае, если товары могут находиться как в группе “отечественные”, так и в группах “импортные/дорогие” и “импортные/дешевые”?

    В BI SE поддерживались два вида иерархий: value-based и level-based, поэтому проблем не возникало. Как поступать в данном случае в BI EE (Answer)?

  10. on 04 Jun 2007 at 3:26 pm 10.x said …

    Добрый день.
    Подскажите пожалуйста средство разработки XML (или в другом виде) для возможности полноценно использовать ОЛАП от Microsoft на сервере BI. спасибо

  11. on 04 Jun 2007 at 5:54 pm 11.Андрей Пивоваров said …

    Andr,

    Может быть в вашем примере разбить измерение на два?
    В одном будет импортные и отечественные, а в другом дорогие и дешевые?

  12. on 04 Jun 2007 at 5:55 pm 12.Андрей Пивоваров said …

    x,

    Oracle Business Intelligence Server позволяет импортировать в репозиторий описание и работать с MS AS через протокол XML/A

  13. on 05 Jun 2007 at 12:39 pm 13.x said …

    Андрей Пивоваров, спасибо. это я уже понял.
    Мне непонятно где именно в BI-администраторе импортируется описание бд MSAS2000 напрямую с сервера?
    Или импорт возможен непосредственно из XMLA?

  14. on 05 Jun 2007 at 1:34 pm 14.Андрей Пивоваров said …

    x,

    В администраторе в File->Import->From XMLA

  15. on 05 Jun 2007 at 5:32 pm 15.x said …

    Андрей Пивоваров, спасибо, это я уже пытался делать.
    Правда пока XML я смог сгенерировать только из EM SQL Server2000-го.
    BI Администратор “ругается” на то, что файл не найден (при непосредственном указании URL на файл в виде \192.168.1.1\XML\1.xml)

    Другого способе генерации XML на основе кубов MSAS я не знаю.

    Подскажите пожалуйста.

  16. on 06 Jun 2007 at 7:36 am 16.Andr said …

    К сожалению разбить можно только в частном случае. Задача стоит об адекватной обработки произвольного дерева, длина ветвей у которого различается. BI SE позволяет обрабатывать такие деревья при использовании value-based иерархии (parent-child). В BI EE пока получается только если искусственно подравнять длину ветвей. При этом еще и заранее должна быть известна глубина дерева.

  17. on 06 Jun 2007 at 9:58 am 17.Андрей Пивоваров said …

    Andr,

    Под BI SE вы видимо понимаете Discoverer for OLAP, который работает с OLAP.
    Обычный реляционный Discoverer также не работает с parent-child и с несбалансированными иерархиями.
    “Адекватная обработка произвольного дерева” обычно реализуется в OLAP серверах.

  18. on 06 Jun 2007 at 10:53 am 18.x said …

    В моём случае речь идёт о BI EE.
    А Discoverer for OLAP, работает только Oracle OLAP?…

  19. on 06 Jun 2007 at 1:11 pm 19.Андрей Пивоваров said …

    x,

    Обращайте внимание к кому относится сообщение.
    Про Discoverer for OLAP я отвечал пользователю Andr.

    Но вообще Discoverer for OLAP работает только с Oracle OLAP, да.

  20. on 06 Jun 2007 at 2:39 pm 20.x said …

    Извините.
    Все, я понял суть моей проблемы. спасибо.

  21. on 06 Jun 2007 at 6:37 pm 21.Андрей Пивоваров said …

    x,

    Это вы извините, что не смог доходчиво объяснить.

  22. on 19 Jun 2007 at 4:27 pm 22.Александр said …

    Как избежать в BI EE неприятностей? :
    – Иногда при попытке остановить BI Server он зависает (Stoppid) и приходится перестартовываться.
    – презентация сразу запускает запрос по параметрам, определенным по умолчанию в Dashboard Prompt. Мне этот запрос не нужен, тратится время.
    – в Dashboard Prompt заголовки сolumn искажаются (не печатаются) если это рус. текст и кончается на точку.
    – как показать (через функции, не создавая и не загружая заранее колонку в таблице фактов) данные (показатель, например, “Объем продаж”, измерение “Продукты”), выражающие отношение “Объема по каждому продукту А Б В ..” к “Объему по продукту А”?

  23. on 19 Jun 2007 at 8:48 pm 23.Андрей Пивоваров said …

    Александр, мне кажется конструктивнее будет такого рода вопросы задавать на форуме SQL.RU (http://www.sql.ru/forum/actualtopics.aspx?bid=26) где на них может ответить более широкий круг специалистов.
    Так как, например, первый вопрос – это вопрос явно к техподдержке, так как это ненормальное поведение и оно может зависеть от массы причин. Но, возможно, кто то сталкивался с чем-то похожим и может вам помочь.

    Третий вопрос нужно проверить, навскидку не скажу, но если это так, то это, возможно тоже баг.

    Четвертый вопрос? Не уверен что правильно понял вопрос. А нельзя определить показатель типа “Объем по продукту А” а потом сделать вычисление “Объем по продуктам”/”Объем по продукту А” ? Или вы не хотите создавать вычисляемый показатель?

    Короче говоря, напишите это на SQL.RU, если я доберусь до продукта, отвечу я, а может кто-то ответит быстрее меня.

    Второй вопрос – как вариант, может имеет смысл сделать дефолтным значение, которое не возвращает результатов и тогда запрос будет отрабатываться быстро? Опять же если нет штатного средства. Но проверить нет возможности сейчас.

  24. on 22 Dec 2007 at 12:35 pm 24.Assa said …

    Сколько будет стоить только XML BI Publisher для 250 пользователей?

  25. on 22 Dec 2007 at 3:37 pm 25.Андрей Пивоваров said …

    Это зависит от того, как вы его покупаете. Как отдельно стоящий инструмент или как опцию к Apllication Server или как опцию к BI EE.
    Можно купить процессорную лицензию, когда количество пользователей не лимитировано, но надо смотреть на какой железке это будет работать.

  26. on 19 Dec 2008 at 1:10 pm 26.whitish said …

    Люди, а знает ли кто-то, где достать русскую локализацию для bi?

  27. on 19 Dec 2008 at 2:29 pm 27.Андрей Пивоваров said …

    whitish,

    Не понял вопроса. BI уже больше года как локализован. Все версии, появлявшиеся за последний год – локализованные

  28. on 02 Jun 2009 at 5:02 pm 28.Ал-др К said …

    Возможно ли сделать активным Отчет для решения следующей задачи. Есть сложный запрос (с десятком измерений) по двум параметрам (даты начала и конца выборки). Как по выбранным пользователем параметрам получить куб? Использовать параметры как измерения вряд ли получится. Для этого придется создавать таблицу по всем возможным комбинациям интервала выборки и подгружать каждый день новые интервалы.

  29. on 02 Jun 2009 at 7:59 pm 29.Андрей Пивоваров said …

    Ал-др К,

    Не понял вопроса. Что вы называете кубом?

  30. on 24 Jun 2009 at 12:44 pm 30.Ал-др К said …

    Результат запроса с параметрами можно сохранить во временной таблице фактов, связав её с измерениями. В Answers я вижу только срез данных по выбранным параметрам (куб). Можно ли в витрине задать новые значения параметров, выполнить запрос и получить новую таблицу фактов? Т.е. таблица фактов зависит от параметров, которые сложно использовать напрямую как дополнительные измерения.

  31. on 25 Jun 2009 at 2:53 pm 31.Ал-др К said …

    Более конкретно: В хранилище из основной БД я могу залить в таблицу фактов лишь часть данных, по конкретным параметрам. Полностью невозможно, учитывая число комбинаций параметров и необходимость ежедневного обновления. Т.е. таблица динамическая.
    Может использовать таблицу типа Select? Можно там в коде использовать переменные сессии? Или Stored Proc?
    Подскажите примеры использования переменных для загрузки фактов. Есть ли русские статьи по этому вопросу?

  32. on 25 Jun 2009 at 3:44 pm 32.Андрей Пивоваров said …

    Александр, а на sql.ru не пробовали вопрос задавать?
    Насчет параметров я не уверен. Насчет select – думаю можно.

  33. on 11 Jan 2010 at 2:45 pm 33.alexk said …

    >>Oracle BI EE веб-ориентированный, при этом не >>используются технологии плагинов.

    Используются, для отображения графиков нужен Flash.

  34. on 12 Jan 2010 at 5:56 pm 34.Андрей Пивоваров said …

    alexk, ну имелось в виду, что в отличие, например, от Discoverer, здесь нет аплетов или плагинов, специфичных для BI EE, которые должны установиться на клиента, чтобы работал основной функционал.
    Но формально вы правы, Flash это плагин, правда который в 95% случаев у пользователя и так есть.

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply