Возможно, для кого-то использование OLAP-технологии (On-line Analytic Processing) при построении отчетности покажется какой-то экзотикой, поэтому применение OLAP-куба для них вовсе не является одним из важнейших требований при автоматизации бюджетирования и управленческого учета. На самом деле очень удобно пользоваться многомерным кубом при работе с управленческой отчетностью.
При разработке форматов управленческих отчетов в информационной системе нужно учитывать такой явление как многовариантность форм, когда один и тот же управленческий отчет может быть представлен в различном виде (ниже этот эффект рассмотрен на примере бюджета продаж). Это связано с тем, что для эффективного управления компанией требуется все более детализированная управленческая отчетность. То есть в системе используется все больше различных аналитических срезов (в информационных системах аналитики определяются набором справочников).
Естественно, это приводит к тому, что руководители хотят получать отчетность во всех интересующих их аналитических срезах. А это значит, что отчеты нужно как-то заставить «дышать». Иными словами можно сказать, что в данном случае речь идет о том, что по смыслу один и тот же отчет должен предоставлять информацию в различных аналитических разрезах. Поэтому статичные отчеты уже не устраивают многих современных руководителей. Им нужна динамика, которую может дать многомерный куб.
Таким образом, OLAP-технология уже сейчас стала обязательным элементом в современных и перспективных информационных системах. Поэтому при выборе программного продукта нужно обращать внимание на то, используется ли в нем OLAP-технология.
Причем нужно уметь отличать настоящие кубы от имитации. Одной из таких имитаций являются сводные таблицы в MS Excel. Да, этот инструмент похож на куб, но на самом деле таковым не является, поскольку это статические, а не динамические таблицы. Кроме того, в них гораздо хуже реализована возможность построения отчетов, использующих элементы из иерархических справочников.
Для подтверждения актуальности использования куба при построении управленческой отчетности можно привести простейший пример с бюджетом продаж. В рассматриваемом примере для компании актуальными являются следующие аналитические срезы: продукты, филиалы и каналы сбыта. Если для компании важны эти три аналитики, то бюджет (или отчет) продаж можно выводить в нескольких вариантах.
Следует отметить, что если создавать строки бюджетов на основе трех аналитических срезов (как в рассматриваемом примере), это позволяет создавать достаточно сложные бюджетные модели и составлять детализированные отчеты с использованием куба.
Например, бюджет продаж можно составлять с использованием только одной аналитики (справочника). Пример бюджета продаж, построенного на основе одной аналитики «Продукты» представлен на рисунке 1.
Рис. 1. Пример бюджета продаж, построенного в OLAP-кубе на основе одной аналитики «Продукты»
Кликните, чтобы увеличить
Этот же бюджет продаж можно составлять с использованием двух аналитик (справочников). Пример бюджета продаж, построенного на основе двух аналитик «Продукты» и «Филиалы» представлен на рисунке 2.
Рис. 2. Пример бюджета продаж, построенного в OLAP-кубе на основе двух аналитик «Продукты» и «Филиалы»
Кликните, чтобы увеличить
Если есть необходимость строить более детальные отчеты, то можно тот же бюджет продаж составлять с использованием трех аналитик (справочников). Пример бюджета продаж, построенного на основе трех аналитик «Продукты», «Филиалы» и «Каналы сбыта» представлен на рисунке 3.
Рис. 3. Пример бюджета продаж, построенного в OLAP-кубе на основе трех аналитик «Продукты», «Филиалы» и «Каналы сбыта»
Кликните, чтобы увеличть
Нужно напомнить о том, что куб, используемый для формирования отчетов, позволяет выводить данные в различной последовательности. На рисунке 3 бюджет продаж сначала «разворачивается» по продуктам, затем по филиалам, а потом по каналам сбыта.
Те же самые данные можно представить в другой последовательности. На рисунке 4 тот же самый бюджет продаж «разворачивается» сначала по продуктам, затем по каналам сбыта, а потом по филиалам.
Рис. 4. Пример бюджета продаж, построенного в OLAP-кубе на основе трех аналитик «Продукты», «Каналы сбыта» и «Филиалы»
Кликните, чтобы увеличить
На рисунке 5 тот же самый бюджет продаж «разворачивается» сначала по филиалам, затем по продуктам, а потом по каналам сбыта.
Рис. 5. Пример бюджета продаж, построенного в OLAP-кубе на основе трех аналитик «Филиалы», «Продукты» и «Каналы сбыта»
Кликните, чтобы увеличить
На самом деле это не все возможные варианты вывода бюджета продаж.
Кроме того, нужно обратить внимание на то, что куб позволяет работать с иерархической структурой справочников. В представленных примерах иерархическими справочниками являются «Продукты» и «Каналы сбыта».
С точки зрения пользователя он в данном примере получает несколько управленческих отчетов (см. Рис. 1-5), а с точки зрения настроек в программном продукте — это один отчет. Просто с помощью куба его можно просматривать несколькими способами.
Естественно, что на практике возможно очень большое количество вариантов вывода различных управленческих отчетов, если их статьи строятся на одной или нескольких аналитиках. А уж сам набор аналитик зависит от потребности пользователей в детализации. Правда, при этом не следует забывать, что, с одной стороны, чем больше аналитик, тем более детализированные отчеты можно строить. Но, с другой стороны, значит, и финансовая модель бюджетирования будет более сложной. В любом случае при наличии куба компания будет иметь возможность просмотра необходимой отчетности в различных вариантах, в соответствии с интересующими аналитическими разрезами.
Необходимо упомянуть еще о нескольких возможностях OLAP-куба.
В многомерном иерархическом OLAP-кубе есть несколько измерений: тип строки, дата, строки, справочник 1, справочник 2 и справочник 3 (см. Рис. 6). Естественно, в отчет выводится столько кнопок со справочниками, сколько есть в строке бюджета, содержащей максимальное количество справочников. Если ни в одной строке бюджета нет ни одного справочника, то в отчете не будет ни одной кнопки со справочниками.
Рис. 6. Измерения OLAP-куба
Изначально OLAP-куб строится по всем измерениям. По умолчанию при первоначальном построении отчета измерения расположены именно в тех областях, как показано на рисунке 6. То есть такое измерение, как «Дата», располагается в области вертикальных измерений (измерения в области столбцов), измерения «Строки», «Справочник 1», «Справочник 2» и «Справочник 3» — в области горизонтальных измерений (измерения в области строк), а измерение «Тип строки» — в области «нераскрываемых» измерений (измерения в страничной области). Если измерение находится в последней области, то данные в отчете не будут «раскрываться» по этому измерению.
Каждое из этих измерений можно поместить в любую из трех областей. После переноса измерений отчет мгновенно перестраивается в соответствии с новой конфигурацией измерений. Например, можно поменять местами дату и строки со справочниками. Или можно в вертикальную область измерений перенести один из справочников (см. Рис. 7). Иными словами, отчет в OLAP-кубе можно «крутить» и выбирать тот вариант вывода отчета, который является наиболее удобным для пользователя.
Рис. 7. Пример перестройки отчета после изменения конфигурации измерений
Кликните, чтобы увеличить
Конфигурацию измерений можно менять либо в основной форме куба, либо в редакторе карты изменений (см. Рис. 8). В этом редакторе также можно мышкой перетаскивать измерения из одной области в другую. Помимо этого, можно менять местами измерения в одной области.
Кроме того, в этой же форме можно настраивать некоторые параметры измерений. По каждому измерению можно настраивать расположение итогов, порядок сортировки элементов и названия элементов (см. Рис. 8). Также можно задавать, какое название элементов выводить в отчет: сокращенное (Name) или полное (FullName).
Рис. 8. Редактор карты измерений
Редактировать параметры измерений можно непосредственно в каждом из них (см. Рис. 9). Для этого нужно нажать на пиктограмму, расположенную на кнопке рядом с названием измерения.
Рис. 9. Пример редактирования справочника 1 Продукты и услуги
С помощью этого редактора можно выбирать элементы, которые нужно показывать в отчете. По умолчанию в отчет выводятся все элементы, но при необходимости часть элементов или папок можно не показывать. Например, если нужно выводить в отчет только одну продуктовую группу, то у всех остальных необходимо убрать галочки в редакторе измерений. После чего в отчете будет только одна продуктовая группа (см. Рис. 10).
Также в этом редакторе можно сортировать элементы. Кроме того, элементы можно перегруппировывать различными способами. После такой перегруппировки отчет мгновенно перестраивается.
Рис. 10. Пример вывода в отчете только одной продуктовой группы (папки)
Кликните, чтобы увеличить
В редакторе измерения можно оперативно создавать свои группы, перетаскивать туда элементы из справочников и так далее. По умолчанию автоматически создается только группа «Прочие», но можно создавать и другие группы. Таким образом, с помощью редактора измерений можно настраивать, какие элементы справочников и в каком порядке нужно выводить в отчет.
Следует отметить, что все такие перегруппировки не записываются. То есть после закрытия отчета или после его перерасчета в отчет будут выводиться все справочники в соответствии с настроенной методикой. На самом деле все такие изменения можно было сделать изначально при настройке строк. Например, с помощью ограничений также можно задавать, какие элементы или группы справочников нужно выводить в отчет, а какие — нет.
Если пользователю практически регулярно нужно выводить в отчет только определенные элементы или папки справочников, то подобные настройки лучше заранее сделать при создании строк отчетов. Если же для пользователя важны различные комбинации элементов справочников в отчетах, тогда при настройке методики никакие ограничения ставить не нужно. Все такие ограничения можно будет оперативно настраивать с помощью редактора измерения.
Нужно обратить внимание на то, что OLAP-технологию можно использовать в различных сферах. Особенно удобно применять ее при построении отчетов, в которых используется более одного справочника, так как в этом случае привычная табличная форма отчетов не удобна для пользователей.
Фото: pixabay.com
Из опыта работы могу сказать, что несмотря на всю прелесть работы с OLAP, у данной технологии имеется и ряд достаточно серьезных недостатков.
1/ Избыточность структуры. Т.е., с одной стороны, не на всех ''пересечениях'' осей измерений есть значения; а с другой, необходимость хранения агрегатов (сумма за месяц, сумма за квартал, сумма за год ...) увеличвает объем хранимых значений.
В моем опыте, избыточность составляла 70-80%. Реально, система учета с 2-3 измерениями еще работала, а потом сервера ''сдохли''. Попытка уйти от агрегатов привела к тому, что отчеты строились по 20-30 минут (если вообще не отваливались по time-out).
2/ Оборотная сторона гибкости построения отчетов. OLAP действительно позволяет легко ''крутить'' данные, но оборотной стороной этой легкости оказался весьма сильно ограниченный набор реальных пользователей. Чтобы воспользоваться всеми прелестями, от пользователя требовалось знания структуры данных (иерарщия и количество аналитик и т.п.). В итоге, у ''простых смертных'' отчеты получались либо неинформативными либо просто бредовыми.
В результате, из 40+ пользователей описанных в системе, через два месяца пользовались OLAP полтора человека, один из которых автор этих строк (еще пол человека, это тетя которую я заставлял это делать раз в месяц :) ).
Резюме (в моей истории). Мы откатились на реляционную базу данных, с отдельно прописанной структурой для генератора отчетов и набором из связанных отчетов с псевдо-дриллингом (умением ''проваливаться'' ''вниз'' и ''вверх'' drill down и drill up).
Кстати, по беседам с ИТ-шниками, который нам продавали OLAP, мы оказались не первыми наступившими на эти грабли. К счастью, наша компания обошлась малыми деньгами.
Еще раз оговорюсь, OLAP - это здорово. Но требует хорошего планирования и скурпулезного анализа cost / benefits.
ЗЫ И не для всех :D
отож! в любом случае- отчет директору готовиться моими хрупкими ручками, ну не будет он OLAP ковырять на предмет получения красивых и понятных диаграмм для наблюдательного совета
и тут необходимо хорошее пространственное мышление- как его скрутить этот кубик-рубик