OLAP-КУБ (динамическая управленческая отчетность). Категории информационных систем

4. Классификация OLAP-продуктов.

5. Принципы работы OLAP-клиентов.

7. Сферы применения OLAP-технологий.

8. Пример использования OLAP-технологий для анализа в сфере продаж.

1. Место OLAP в информационной структуре предприятия.

Термин "OLAP" неразрывно связан с термином "хранилище данных" (Data Warehouse ).

Данные в хранилище попадают из оперативных систем (OLTP-систем), которые предназначены для автоматизации бизнес-процессов. Кроме того, хранилище может пополняться за счет внешних источников, например статистических отчетов.

Задача хранилища - предоставить "сырье" для анализа в одном месте и в простой, понятной структуре.

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

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

Централизация и удобное структурирование - это далеко не все, что нужно аналитику. Ему ведь еще требуется инструмент для просмотра, визуализации информации. Традиционные отчеты, даже построенные на основе единого хранилища, лишены одного - гибкости. Их нельзя "покрутить", "развернуть" или "свернуть", чтобы получить желаемое представление данных. Вот бы ему такой инструмент, который позволил бы разворачивать и сворачивать данные просто и удобно! В качестве такого инструмента и выступает OLAP.

Хотя OLAP и не представляет собой необходимый атрибут хранилища данных, он все чаще и чаще применяется для анализа накопленных в этом хранилище сведений.

Место OLAP в информационной структуре предприятия (рис. 1).

Рисунок 1 . Место OLAP в информационной структуре предприятия

Оперативные данные собираются из различных источников, очищаются, интегрируются и складываются в реляционное хранилище. При этом они уже доступны для анализа при помощи различных средств построения отчетов. Затем данные (полностью или частично) подготавливаются для OLAP-анализа. Они могут быть загружены в специальную БД OLAP или оставлены в реляционном хранилище. Важнейшим его элементом являются метаданные, т. е. информация о структуре, размещении и трансформации данных. Благодаря им обеспечивается эффективное взаимодействие различных компонентов хранилища.

Подытоживая, можно определить OLAP как совокупность средств многомерного анализа данных, накопленных в хранилище.

2. Оперативная аналитическая обработка данных.

В основе концепции OLAP лежит принцип многомерного представления данных. В 1993 году E. F. Codd рассмотрел недостатки реляционной модели, в первую очередь, указав на невозможность "объединять, просматривать и анализировать данные с точки зрения множественности измерений, то есть самым понятным для корпоративных аналитиков способом", и определил общие требования к системам OLAP, расширяющим функциональность реляционных СУБД и включающим многомерный анализ как одну из своих характеристик.

По Кодду, многомерное концептуальное представление данных (multi-dimensional conceptual view ) представляет собой множественную перспективу, состоящую из нескольких независимых измерений, вдоль которых могут быть проанализированы определенные совокупности данных.

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

Так, измерение Исполнитель может определяться направлением консолидации, состоящим из уровней обобщения "предприятие - подразделение - отдел - служащий". Измерение Время может даже включать два направления консолидации - "год - квартал - месяц - день" и "неделя - день", поскольку счет времени по месяцам и по неделям несовместим. В этом случае становится возможным произвольный выбор желаемого уровня детализации информации по каждому из измерений.

Операция спуска (drilling down ) соответствует движению от высших ступеней консолидации к низшим ; напротив, операция подъема (rolling up ) означает движение от низших уровней к высшим (рис. 2).


Рисунок 2. Измерения и направления консолидации данных

3. Требования к средствам оперативной аналитической обработки.

Многомерный подход возник практически одновременно и параллельно с реляционным . Однако, только начиная с середины девяностых годов, а точнее с
1993 г., интерес к МСУБД начал приобретать всеобщий характер. Именно в этом году появилась новая программная статья одного из основоположников реляционного подхода Э. Кодда , в которой он сформулировал 12 основных требований к средствам реализации OLAP (табл. 1).

Таблица 1.

Многомерное представление данных

Средства должны поддерживать многомерный на концептуальном уровне взгляд на данные.

Прозрачность

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

Доступность

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

Согласованная производительность

Производительность практически не должна зависеть от количества Измерений в запросе.

Поддержка архитектуры клиент-сервер

Средства должны работать в архитектуре клиент-сервер.

Равноправность всех измерений

Ни одно из измерений не должно быть базовым, все они должны быть равноправными (симметричными).

Динамическая обработка разреженных матриц

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

Поддержка многопользовательского режима работы с данными

Средства должны обеспечивать возможность работать более чем одному пользователю.

Поддержка операций на основе различных измерений

Все многомерные операции (например Агрегация) должны единообразно и согласованно применяться к любому числу любых измерений.

Простота манипулирования данными

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

Развитые средства представления данных

Средства должны поддерживать различные способы визуализации (представления) данных.

Неограниченное число измерений и уровней агрегации данных

Не должно быть ограничений на число поддерживаемых Измерений.

Правила оценки программных продуктов класса OLAP

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

Позже определение Кодда было переработано в так называемый тест FASMI, требующий, чтобы OLAP-приложение предоставляло возможности быстрого анализа разделяемой многомерной информации.

Помнить 12 правил Кодда слишком обременительно для большинства людей. Оказались, что можно резюмировать OLAP-определение только пятью ключевыми словами: Быстрый Анализ Разделяемой Многомерной Информации - или, кратко - FASMI (в переводе с английского: F ast A nalysis of S hared M ultidimensional I nformation ).

Это определение впервые было сформулировано в начале 1995 года и с тех пор не нуждалось в пересмотре.

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

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

ANALYSIS (Анализ) означает, что система может справляться с любым логическим и статистическим анализом, характерным для данного приложения, и обеспечивает его сохранение в виде, доступном для конечного пользователя.

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

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

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

INFORMATION (Информации) - это все. Необходимая информация должна быть получена там, где она необходима. Однако многое зависит от приложения. Мощность различных продуктов измеряется в терминах того, сколько входных данных они могут обрабатывать, но не сколько гигабайт они могут хранить. Мощность продуктов весьма различна - самые большие OLAP продукты могут оперировать, по крайней мере, в тысячу раз большим количеством данных по сравнению с самыми маленькими. По этому поводу следует учитывать много факторов, включая дублирование данных, требуемую оперативная память, использование дискового пространства, эксплуатационные показатели, интеграцию с информационными хранилищами и т.п.

Тест FASMI - разумное и понятное определение целей, на достижение которых ориентированы OLAP.

4. Классификация OLAP -продуктов.

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

На сегодняшний день в мире разработано множество продуктов, реализующих OLAP -технологии. Чтобы легче было ориентироваться среди них, используют классификации OLAP -продуктов: по способу хранения данных для анализа и по месту нахождения OLAP -машины. Рассмотрим подробнее каждую категорию OLAP -продуктов.

Классификация по способу хранения данных

Многомерные кубы строятся на основе исходных и агрегатных данных. И исходные и агрегатные данные для кубов могут храниться как в реляционных, так и многомерных базах данных. Поэтому в настоящее время применяются три способа хранения данных: MOLAP (Multidimensional OLAP ), ROLAP (Relational OLAP ) и HOLAP (Hybrid OLAP ). Соответственно, OLAP -продукты по способу хранения данных делятся на три аналогичные категории:

1. В случае MOLAP , исходные и агрегатные данные хранятся в многомерной БД или в многомерном локальном кубе.

2. В ROLAP -продуктах исходные данные хранятся в реляционных БД или в плоских локальных таблицах на файл-сервере. Агрегатные данные могут помещаться в служебные таблицы в той же БД. Преобразование данных из реляционной БД в многомерные кубы происходит по запросу OLAP -средства.

3. В случае использования HOLAP архитектуры исходные данные остаются в реляционной базе, а агрегаты размещаются в многомерной. Построение OLAP -куба выполняется по запросу OLAP -средства на основе реляционных и многомерных данных.

Классификация по месту размещения OLAP -машины.

По этому признаку OLAP -продукты делятся на OLAP -серверы и OLAP -клиенты:

· В серверных OLAP -средствах вычисления и хранение агрегатных данных выполняются отдельным процессом - сервером. Клиентское приложение получает только результаты запросов к многомерным кубам, которые хранятся на сервере. Некоторые OLAP -серверы поддерживают хранение данных только в реляционных базах, некоторые - только в многомерных. Многие современные OLAP -серверы поддерживают все три способа хранения данных: MOLAP , ROLAP и HOLAP .

MOLAP.

MOLAP - это Multidimensional On-Line Analytical Processing, то есть Многомерный OLAP. Это означает, что сервер для хранения данных использует многомерную базу данных (МБД). Смысл использования МБД очевиден. Она может эффективно хранить многомерные по своей природе данные, обеспечивая средства быстрого обслуживания запросов к базе данных. Данные передаются от источника данных в многомерную базу данных, а затем база данных подвергается агрегации. Предварительный расчет - это то, что ускоряет OLAP-запросы, поскольку расчет сводных данных уже произведен. Время запроса становится функцией исключительно времени, необходимого для доступа к отдельному фрагменту данных и выполнения расчета. Этот метод поддерживает концепцию, согласно которой работа производится единожды, а результаты затем используются снова и снова. Многомерные базы данных являются относительно новой технологией. Использование МБД имеет те же недостатки, что и большинство новых технологий. А именно - они не так устойчивы, как реляционные базы данных (РБД), и в той же мере не оптимизированы. Другое слабое место МБД заключается в невозможности использовать большинство многомерных баз в процессе агрегации данных, поэтому требуется время для того, чтобы новая информация стала доступна для анализа.

ROLAP.

ROLAP - это Relational On-Line Analytical Processing, то есть Реляционный OLAP. Термин ROLAP обозначает, что OLAP-сервер базируется на реляционной базе данных. Исходные данные вводятся в реляционную базу данных, обычно по схеме "звезда" или схеме "снежинка", что способствует сокращению времени извлечения. Сервер обеспечивает многомерную модель данных с помощью оптимизированных SQL-запросов.

Существует ряд причин для выбора именно реляционной, а не многомерной базы данных. РБД - это хорошо отработанная технология, имеющая множество возможностей для оптимизации. Использование в реальных условиях дало в результате более проработанный продукт. К тому же, РБД поддерживают более крупные объемы данных, чем МБД. Они как раз и спроектированы для таких объемов. Основным аргументом против РБД является сложность запросов, необходимых для получения информации из большой базы данных с помощью SQL. Неопытный SQL-программист мог бы с легкостью обременить ценные системные ресурсы попытками выполнить какой-нибудь подобный запрос, который в МБД выполняется гораздо проще.

Агрегированные/Предварительно агрегированные данные.

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

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

· OLAP -клиент устроен по-другому. Построение многомерного куба и OLAP -вычисления выполняются в памяти клиентского компьютера. OLAP -клиенты также делятся на ROLAP и MOLAP . А некоторые могут поддерживать оба варианта доступа к данным.

У каждого из этих подходов, есть свои "плюсы" и "минусы". Вопреки распространенному мнению о преимуществах серверных средств перед клиентскими, в целом ряде случаев применение OLAP -клиента для пользователей может оказаться эффективнее и выгоднее использования OLAP -сервера.

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

При использовании OLAP-сервера необходимо изучить 2 разные системы, иногда от различных поставщиков, – для создания кубов на сервере, и для разработки клиентского приложения.

OLAP-клиент предоставляет единый визуальный интерфейс для описания кубов и настройки к ним пользовательских интерфейсов.

Итак, в каких случаях применение OLAP-клиента для пользователей может оказаться эффективнее и выгоднее использования OLAP-сервера?

· Экономическая целесообразность применения OLAP -сервера возникает, когда объемы данных очень велики и непосильны для OLAP -клиента, иначе более оправдано применение последнего. В этом случае OLAP -клиент сочетает в себе высокие характеристики производительности и низкую стоимость.

· Мощные ПК аналитиков – еще один довод в пользу OLAP -клиентов. При применении OLAP -сервера эти мощности не используются.

Среди преимуществ OLAP-клиентов можно также назвать следующее:

· Затраты на внедрение и сопровождение OLAP -клиента существенно ниже, чем затраты на OLAP -сервер.

· При использовании OLAP -клиента со встроенной машиной передача данных по сети производится один раз. При выполнении OLAP -операций новых потоков данных не порождается.

5. Принципы работы OLAP -клиентов.

Рассмотрим процесс создания OLAP-приложения с помощью клиентского инструментального средства (рис. 1).

Рисунок 1. Создание OLAP-приложения с помощью клиентского ROLAP-средства

Принцип работы ROLAP-клиентов – предварительное описание семантического слоя, за которым скрывается физическая структура исходных данных. При этом источниками данных могут быть: локальные таблицы, РСУБД. Список поддерживаемых источников данных определяется конкретным программным продуктом. После этого пользователь может самостоятельно манипулировать понятными ему объектами в терминах предметной области для создания кубов и аналитических интерфейсов.

Принцип работы клиента OLAP-сервера иной. В OLAP-сервере при создании кубов пользователь манипулирует физическими описаниями БД. При этом в самом кубе создаются пользовательские описания. Клиент OLAP-сервера настраивается только на куб.

При создании семантического слоя источники данных – таблицы Sales и Deal – описываются понятными конечному пользователю терминами и превращаются в «Продукты» и «Сделки». Поле «ID» из таблицы «Продукты» переименовывается в «Код», а «Name » - в «Товар» и т.д.

Затем создается бизнес-объект «Продажи». Бизнес-объект – это плоская таблица, на основе которой формируется многомерный куб. При создании бизнес-объекта таблицы «Продукты» и «Сделки» объединяются по полю «Код» товара. Поскольку для отображения в отчете не потребуются все поля таблиц – бизнес-объект использует только поля «Товар», «Дата» и «Сумма».

В нашем примере на базе бизнес-объекта «Продажи» создан отчет по продажам товаров по месяцам.

При работе с интерактивным отчетом пользователь может задавать условия фильтрации и группировки такими же простыми движениями «мышью». В этот момент ROLAP-клиент обращается к данным в кэше . Клиент же OLAP-сервера генерирует новый запрос к многомерной базе данных. Например, применив в отчете о продажах фильтр по товарам, можно получить отчет о продажах интересующих нас товаров.

Все настройки OLAP-приложения могут храниться в выделенном репозитории метаданных, в приложении или в системном репозитории многомерной базы данных. Реализация зависит от конкретного программного продукта.

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

Интернет является новой формой клиента. Кроме того, он несет на себе печать новых технологий; множество интернет-решений существенно отличаются по своим возможностям в целом и в качестве OLAP-решения - в частности. Существует масса преимуществ в формировании OLAP-отчетов через Интернет. Наиболее существенным представляется отсутствие необходимости в специализированном программном обеспечении для доступа к информации. Это экономит предприятию кучу времени и денег.

6. Выбор архитектуры OLAP-приложения.

При реализации информационно-аналитической системы важно не ошибиться в выборе архитектуры OLAP-приложения. Дословный перевод термина On-Line Analytical Process - «оперативная аналитическая обработка» - часто воспринимается буквально в том смысле, что поступающие в систему данные оперативно анализируются. Это заблуждение - оперативность анализа никак не связана с реальным временем обновления данных в системе. Эта характеристика относится к времени реакции OLAP-системы на запросы пользователя. При этом зачастую анализируемые данные представляют собой снимок информации «на вчерашний день», если, например, данные в хранилищах обновляются раз в сутки.

В этом контексте более точен перевод OLAP как «интерактивная аналитическая обработка». Именно возможность анализа данных в интерактивном режиме отличает OLAP-системы от систем подготовки регламентированных отчетов.

Другой особенностью интерактивной обработки в формулировке родоначальника OLAP Э. Кодда является возможность «объединять, просматривать и анализировать данные с точки зрения множественности измерений, т. е. самым понятным для корпоративных аналитиков способом». У самого Кодда термин OLAP обозначает исключительно конкретный способ представления данных на концептуальном уровне - многомерный. На физическом уровне данные могут храниться в реляционных базах данных, однако на деле OLAP-инструменты, как правило, работают с многомерными базами данных, в которых данные упорядочены в виде гиперкуба (рис. 1).

Рисунок 1. OLAP – куб (гиперкуб, метакуб )

При этом актуальность этих данных определяется моментом наполнения гиперкуба новыми данными.

Очевидно, что время формирования многомерной базы данных существенно зависит от объема загружаемых в нее данных, поэтому разумно ограничить этот объем. Но как при этом не сузить возможности анализа и не лишить пользователя доступа ко всей интересующей информации? Существует два альтернативных пути: Analyze then query («Сначала проанализируй - затем запроси дополнительную информацию») и Query then analyze («Сначала запроси данные - затем анализируй»).

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

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

К достоинствам второго подхода следует отнести «свежесть» информации, которую пользователь получает в виде многомерного отчета - «микрокуба ». Микрокуб формируется на основе только что запрошенной информации из актуальной реляционной базы данных. Работа с микрокубом осуществляется в интерактивном режиме - получение срезов информации и ее детализация в рамках микрокуба осуществляется моментально. Другим положительным моментом является то, что проектирование структуры и наполнение микрокуба осуществляется пользователем «на лету», без участия администратора баз данных. Однако подход страдает и серьезными недостатками. Пользователь, не видит общей картины и должен заранее определяться с направлением своего исследования. В противном случае запрошенный микрокуб может оказаться слишком мал и не содержать всех интересующих данных, а пользователю придется запрашивать новый микрокуб , затем новый, затем еще и еще. Подход Query then analyze реализует инструментальное средство BusinessObjects одноименной компании и инструментальные средства платформы Контур компании Intersoft Lab .

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

На работе единой многомерной базы данных практически не сказывается количество обращающихся к ней пользователей. Они лишь читают имеющиеся там данные в отличие от подхода Query then analyze , при котором количество микрокубов в предельном случае может расти с той же скоростью, что и количество пользователей.

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

Наиболее яркими представителями подхода «Analyze then query » являются инструментальные средства PowerPlay и Impromptu компании Cognos .

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

7. Сферы применения OLAP-технологий.

OLAP применим везде, где есть задача анализа многофакторных данных. Вообще, при наличии некоторой таблицы с данными, в которой есть хотя бы одна описательная колонка (измерение) и одна колонка с цифрами (меры или факты) OLAP-инструмент, как правило, будет эффективным средством анализа и генерации отчетов.

Рассмотрим некоторые сферы применения OLAP-технологий, взятые из реальной жизни.

1. Продажи.

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

2. Закупки.

Задача обратно противоположная анализу продаж. Многие предприятия закупают комплектующие и материалы у поставщиков. Торговые предприятия закупают товары для перепродажи. Возможных задач при анализе закупок множество, от планирования денежных средств на основе прошлого опыта, до контроля за менеджерами , выбирающими поставщиков.

3. Цены.

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

4. Маркетинг.

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

5. Склад.

Анализ структуры остатков на складе в разрезе видов товаров, складов, анализ сроков хранения товаров, анализ отгрузки по получателям и многие другие важные для предприятия виды анализа возможны при наличии в организации складского учета.

6. Движение денежных средств.

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

7. Бюджет.

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

8. Бухгалтерские счета.

Классический балансовый отчет, состоящий из номера счета и содержащий входящие остатки, обороты и исходящие остатки может быть отлично проанализирован в OLAP-системе. Кроме того, OLAP-система может автоматически и очень быстро вычислять консолидированные балансы многофилиальной организации, балансы за месяц, квартал и год, агрегированные балансы по иерархии счетов, аналитические балансы на основании аналитических признаков.

9. Финансовая отчетность.

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

10. Посещаемость сайта.

Лог-файл Интернет-сервера многомерен по природе, а значит подходит для OLAP-анализа. Фактами являются: количество посещений, количество хитов, время проведенное на странице и другая информация, имеющаяся в логе.

11. Объемы производства.

Это еще один пример статистического анализа. Таким образом, можно анализировать объемы выращенного картофеля, выплавленной стали, произведенного товара.

12. Потребление расходных материалов.

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

13. Использование помещений.

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

14. Текучесть кадров на предприятии.

Анализ текучести кадров на предприятии в разрезе филиалов, отделов, профессий, уровня образования, пола, возраста, времени.

15. Пассажирские перевозки.

Анализ количества проданных билетов и сумм в разрезе сезонов, направлений, видов вагонов (классов), типов поездов (самолетов).

Этим списком не ограничиваются сферы применения OLAP - технологий. Для примера рассмотрим технологию OLAP -анализа в сфере продаж.

8. Пример использования OLAP -технологий для анализа в сфере продаж.

Проектирование многомерного представления данных для OLAP -анализа начинается с формирования карты измерений. Например, при анализе продаж может быть целесообразно, выделить отдельные части рынка (развивающиеся, стабильные, крупные и мелкие потребители, вероятность появления новых потребителей и т.п.) и оценить объемы продаж по продуктам, территориям, покупателям, сегментам рынка, каналам сбыта и размерам заказов. Эти направления образуют координатную сетку многомерного представления продаж - структуру его измерений.

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

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

Измерение «Клиенты» отражает структуру продаж по территориально-географическому признаку. В каждом измерении могут существовать свои ие рархии, например, в данном измерении это может быть структура: Страны – Регионы – Города – Клиенты.

Для анализа эффективности деятельности подразделений следует создать свое измерение. Например, можно выделить два уровня иерархии: департаменты и входящие в них отделы, что и должно найти отражение в измерении «Подразделения».

По сути, измерения «Время», «Товары», «Заказчики» достаточно полно определяют пространство предметной области.

Дополнительно, полезно разбить это пространство на условные области, взяв за основу вычисляемые характеристики, например, диапазоны объема сделок в стоимостном выражении. Тогда весь бизнес можно разделить на ряд стоимостных диапазонов, в котором он осуществляется. В данном примере можно ограничиться следующими показателями: суммами продаж товаров, количеством проданных товаров, величиной дохода, количеством сделок, количеством клиентов, объемом закупок у производителей.

OLAP – куб для анализа будет иметь вид (рис. 2):


Рисунок 2. OLAP – куб для анализа объема продаж

Вот именно такой трехмерный массив в терминах OLAP и называется кубом. На самом деле, с точки зрения строгой математики кубом такой массив будет далеко не всегда: у настоящего куба количество элементов во всех измерениях должно быть одинаковым, а у кубов OLAP такого ограничения нет. Куб OLAP совсем не обязательно должен быть трехмерным. Он может быть и двух- , и многомерным - в зависимости от решаемой задачи. Серьезные OLAP-продукты рассчитаны на количество измерений порядка 20. Более простые настольные приложения поддерживают где-то 6 измерений.

Должны быть заполнены далеко не все элементы куба: если нет информации о продажах Товара 2 Клиенту 3 в третьем квартале, значение в соответствующей ячейке просто не будет определено.

Однако куб сам по себе для анализа не пригоден. Если еще можно адекватно представить или изобразить трехмерный куб, то с шести- или девятнадцатимерным дело обстоит значительно хуже. Поэтому перед употреблением из многомерного куба извлекают обычные двумерные таблицы. Эта операция называется "разрезанием" куба. Аналитик как бы берет и "разрезает" измерения куба по интересующим его меткам. Этим способом аналитик получает двумерный срез куба (отчет) и с ним работает. Структура отчета представлена на рисунке 3.

Рисунок 3. Структура аналитического отчета

Разрежем наш OLAP – куб и получим отчет о продажах за третий квартал, он будет иметь следующий вид (рис.4).

Рисунок 4. Отчет о продажах за третий квартал

Можно разрезать куб вдоль другой оси и получить отчет о продажах группы товаров 2 в течение года (рис. 5).

Рисунок 5. Поквартальный отчет о продажах товара 2

Аналогично можно проанализировать отношения с клиентом 4, разрезав куб по метке Клиенты (рис. 6)

Рисунок 6. Отчет о поставках товаров клиенту 4

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

2003 Intelligent enterprise

ERP + OLAP = эффективная система подготовки отчетности

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

Цель этой статьи - познакомить с практическим опытом реализации решения для подготовки отчетности на основе OLAP-технологий в ООО "Мострансгаз" - крупнейшем отечественном предприятии по транспорту газа.

Этот непонятный OLAP

OLAP (On-line Analytical Processing) обычно переводится как аналитическая обработка данных. И это определение вводит в заблуждение потенциальных пользователей технологии. В России бытует твердое убеждение, что эти системы используются исключительно высококвалифицированными специалистами и аналитиками для проведения сложного анализа. На Западе их рассматривают, как системы, упрощающие понимание данных и обмен ими между всеми сотрудниками компании. В правильности именно западного подхода к OLAP, мы убедились на собственном опыте.

Для ИТ-практиков, OLAP - это технология быстрого создания интерактивных отчетов. Как правило, OLAP-отчет может быть разработан практически без программирования, методом drag&drop. Проектирования и программирования требует только этап извлечения и подготовки данных для отчетов из корпоративных систем предприятия. Серия отчетов для определенной предметной области может быть настроена буквально за несколько часов.

Для конечных пользователей, OLAP - это табличный отчет с промежуточными и окончательными итогами. Он выпускается практически мгновенно и можно самостоятельно изменить его форму: расположение колонок и строк, порядок фильтров и сортировки и т.д. Это позволяет взглянуть на одни и те же данные под разным углом зрения. Например, получив перечень по дебиторской задолженности, углубиться в архивные данные и оценить, были ли у должника проблемы с платежами в прошлом квартале, полгода назад, в ушедшем году? Разносторонний анализ позволяет быстро оценить ситуацию и получить максимум информации о проблеме, чтобы наметить пути ее решения.

Каким образом работает OLAP-система? OLAP-клиент получает данные из исходной информационной системы, и организует их в иерархические структуры в памяти компьютера пользователя. Это позволяет выполнять вычисления промежуточных и окончательных итогов (фактов) практически мгновенно. Пользователь получает простой и интуитивно понятный интерфейс отчета. Это таблица, в которой с помощью "мыши" можно менять местами строки и колонки (измерения), перетаскивать их в область фильтров, тем самым, сворачивая данные, устанавливая самые сложные комбинации фильтров. Функциональные возможности системы позволяют за один сеанс работы выпустить десятки разновидностей одного и того же отчета.

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

Итак, OLAP-инструмент дает два основных преимущества пользователю:

  • высокая скорость и простота настройки нового отчета
  • высокая скорость выпуска отчетов.

Подготовка отчетности в ERP-системах

Обратимся к определению ERP-системы: ERP-система (Enterprise Resource Planning system) - комплексная интегрированная система, создающая единую среду для автоматизации планирования, учета, контроля и анализа всех основных бизнес-операций предприятия.

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

Все без исключения ERP-системы имеют подсистему формирования отчетов. Но созданные с ее помощью отчеты не позволяют менеджменту предприятия оценить финансовые показатели деятельности, выявить наиболее прибыльные продукты и услуги, проанализировать затраты, дебиторскую и кредиторскую задолженности и т.д. Обычно в составе подсистемы отчетности поставляется базовый минимум отчетов по предметным разделам, например, наличие товаров на складах, ведомость износа основных фондов, кассовая книга, ведомость реализации услуг и др. Номенклатура, уровень достаточности и глубина штатных отчетов определяются разработчиками без учета потребностей конкретного конечного пользователя продукта. В результате, штатные отчеты ориентированы на пользователей "нижнего" уровня. Эти отчеты выпускаются из базы данных, на которой работает учетная система. Скорость формирования таких отчетов находится в обратной зависимости от фильтров, группировок и информационного состава.

Создать дополнительные отчеты, в том числе, управленческие, можно с помощью инструментария для разработки отчетов, который поставляется в составе ERP-системы. В некоторых системах это "продвинутый" конструктор с возможностью визуального проектирования, в некоторых - встроенный язык программирования.

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

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

  1. Ограниченный набор базовой отчетности.
  2. Необходимость привлечения программистов для настройки дополнительных отчетов.
  3. Низкая скорость формирования сложных отчетов из общей с системой ввода данных СУБД.
  4. Высокие требования к производительности локальных рабочих станций пользователей при формировании на них сложных отчетов

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

Интеграция OLAP-инструментов с ERP-системой

Рассмотрим возможный вариант реализации разделения учета и отчетности на примере интеграции ERP-системы и OLAP-инструментов. В ООО "Мострансгаз" данная модель была построена на основе:

  • программного комплекса "Галактика" версии 5.84 с использованием модулей "Контур оперативного учета" и "Контур бухгалтерского учета"; разработаны компанией "Галактика" (www.galaktika.ru) ;
  • OLAP-инструментов Аналитической платформы Контур: Контур Стандарт версии 4.0, Контур Дизайнер кубов версии 1.0 и Контур Генератор кубов версии 1.0; разработаны компанией Intersoft Lab .

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

Система "Галактика" работает на платформе СУБД Btrieve\Pervasive, что при невысоких расходах на сопровождение обеспечивает вполне приемлемую скорость работы пользователей, выполняющих операции ввода данных и выпуска текущих отчетов. Однако отчеты за длительный период, а также отчеты, построенные на нестандартных запросах, выполняются недостаточно быстро. Это побудило ИТ-менеджеров ООО "Мострансгаз" применить современные OLAP-системы Аналитической платформы Контур для выпуска отчетов.

АНАЛИТИЧЕСКАЯ ПЛАТФОРМА КОНТУР

Контур Стандарт - это инструмент для генерации произвольных табличных отчетов и анализа данных различных информационных систем. В этой системе можно настроить прямой доступ к локальным таблицам и реляционным базам данных, сконструировать SQL-запросы и выпускать на них OLAP-отчеты в режиме реального времени. Созданный отчет сохраняется для работы в off-line режиме и передачи удаленным пользователям в виде файлов микрокубов.

Микрокуб - это мобильный контейнер OLAP-отчетов и данных для представления в отчетах. В нем хранятся данные, выгруженные из автоматизированных корпоративных систем, алгоритмы расчета вычисляемых показателей и формы OLAP-отчетов. Данные в микрокубе подготовлены для многомерного анализа и оперативного получения показателей в различных разрезах. При помещении в микрокуб объем исходной информации сжимается в десятки раз, что позволяет передавать их по Интернет-протоколам и пересылать по электронной почте.

Контур Дизайнер Кубов предназначен для проектирования микрокубов и сценариев их генерации.

Контур Генератор кубов используется для массовой генерации микрокубов по готовым сценариям.

Более подробно об OLAP-технологии, ее возможностях и конкретных примерах использования можно прочесть в статье В.Некрасова "Мобильный OLAP", опубликованной в журнале "Открытые системы" №5 (2003г.).

Общая схема решения выглядит следующим образом:


Рис. 1. Общая схема решения

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

Параллельно, планировщик задач с заданным периодом в 30 минут запускает перегрузку данных из БД "Галактики" в промежуточный склад данных. Перегрузка происходит в фоновом режиме без отключения пользователей. Промежуточный склад данных является копией базы данных ERP-системы. В данном конкретном случае склад реализован на платформе Firebird, но нет никаких ограничений по другим СУБД. Основная задача создания промежуточного слоя данных - разделение системы учета и системы отчетности.

Данные промежуточного склада используются для создания микрокубов - витрин данных по разным направлениям отчетности (например, "исполнение договоров по капитальному ремонту" или "состав затрат с местами их возникновения"). Создание микрокубов и настройка OLAP-отчетов делегирована аналитикам службы информационных технологий.

Аналитик настройки отчетности в визуальной среде "Контур Дизайнер кубов" проектирует структуры микрокубов, информационный состав и внешний вид OLAP-отчетов. Все настройки сохраняются в виде файлов сценариев.

По готовым сценариям модуль "Контур Генератор кубов" каждые 30 минут генерирует микрокубы из промежуточного склада данных.

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

При помощи OLAP-клиента "Контур Стандарт" микрокубы доступны аналитикам, экономистам, бухгалтерам и другим потребителям отчетов.

Практические примеры использования OLAP для подготовки отчетности

Какие задачи и как помогают решить OLAP-технологии пользователям ERP-системы? Инструменты OLAP извлекают данные из БД ERP-системы и представляют их в интерактивных отчетах для разных специалистов: бухгалтеров, экономистов, руководителей и т.д. Контроль движения материальных ценностей между складами, сравнительный анализ закупочных цен поставщиков, оценка сбыта по регионам, анализ исполнения бюджетов - таков далеко не полный перечень направлений использования OLAP-систем на предприятии. Фактически интеграция ERP и OLAP выводит автоматизацию поддержки управления предприятием на новый качественный уровень.

Рассмотрим несколько примеров использования OLAP в "Мострансгазе".

Представление штатной отчетности в форме OLAP

Любую базовую отчетность ERP-системы можно представить в виде OLAP-таблицы. Это значит, что пользователь сможет сам управлять формой и содержанием отчета с помощью стандартных OLAP-операций: группировки и детализации данных, фильтрации по измерениям и периодам и т.д. После каждой операции OLAP-система выполняет перерасчет промежуточных и окончательных итогов и мгновенно отображает новый отчет.

Это дает сотрудникам разных подразделений свободный доступ к огромным объемам информации для анализа. Например, все стандартные "шахматки по счетам" за год можно поместить в одну единственную OLAP-таблицу. В колонках и строках таблицы будут представлены корреспондирующие счета, в ячейках на пересечении колонок и строк - суммы проводок. С помощью фильтров бухгалтер выбирает счета для представления в отчете, углубляется в интересующий синтетический счет, например 10 "Материалы" (см. рис.), до уровня субсчетов и сразу же получает шахматку по аналитике этого счета.


Рис. 2. OLAP-отчет

Анализ дебиторской и кредиторской задолженности

Классическая задача, которую решают OLAP-системы - генерация основных периодов из даты. Это значит, что на основе фактических значений за каждую дату, система автоматически вычисляет итоговые значения показателей за заданные периоды: неделя, декада, месяц, квартал, год.

Это помогает в решении множества повседневных задач бухгалтерии предприятия. Например, значительно сокращает время на поиск задолженности, по которой приближается срок исковой давности, при создании резерва по сомнительной задолженности и в других случаях анализа дебиторской и кредиторской задолженности. Для этого в один OLAP-отчет выводятся остатки по счету 76 "Расчеты с дебиторами и кредиторами" в разрезе периодов возникновения задолженности, например по годам.

"Мострансгаз" имеет договорные отношения с огромным количеством контрагентов. В OLAP-отчете можно оперативно просмотреть задолженность каждого контрагента и оценить суммы задолженности по разным видам деятельности в разрезе контрагентов. Для этого в отчет добавляются два измерения: "Контрагент" (объекты аналитического учета по счету 76) и "За что" (предметы договоров с контрагентами, по которым образовалась задолженность). Итоги по новым измерениям рассчитываются автоматически (см. рис).

Рис. 3. OLAP-отчет

Поиск встречной задолженности

Для поиска встречной задолженности в OLAP-отчете дебетовые и кредитовые сальдо по счетам 60 "Расчеты с поставщиками", 62 "Расчеты с покупателями и заказчиками" и 76 "Расчеты с дебиторами и кредиторами" представляются в разрезе контрагентов (измерение "Контрагент"), договоров (измерение "За что") и документов оплаты по договору (измерение "Документ").

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

Рис. 4. OLAP-отчет

Анализ задолженности и НДС

В OLAP-таблице с помощью фильтров по фактам и измерениям легко подобрать удобную для решения конкретной задачи форму отчета и выделить данные для сравнения. Можно изменить масштаб (1хN) и формат (абсолютное значение/проценты) представления данных. Две последние функции не являются обязательными для всех OLAP-систем, но они исключительно удобны для решения бухгалтерских задач.

Например, в отчете "Сальдо 2003 года по кварталам и датам" (см. рис.) для сопоставления корректности сальдо по кредиторской задолженности на счете 60 "Расчеты с поставщиками" и налога на добавленную стоимость (НДС) на счете 19 "НДС по приобретенным ценностям" устанавливаются два фильтра. Первый фильтр - по измерению "Счет" для отображения в отчете данных только по двум счетам - 19 и 60. Второй фильтр - по фактам, он включает отображение "свернутого" сальдо по счетам. В результате в соседних колонках в отчете отражаются дебетовое и кредитовое сальдо по выбранным счетам в разрезе счетов-фактур (измерение "С/Ф"), договоров и контрагентов.

Чтобы проверить корректность выделения НДС (18/118, до 2004 года 20/120), бухгалтер одной кнопкой переводит сальдо в проценты по строкам таблицы фактов. В результате в соседних колонках по каждому счету-фактуре выводится сумма оплаты и выделенный из нее НДС. Если отношение 20/120 или 18/118 нарушено, то ситуация по бухгалтерскому документу требует дополнительного разбора и анализа.

Рис. 5. OLAP-отчет

Анализ затрат предприятия

Для анализа затрат предприятия в OLAP-отчете представляются проводки по затратным счетам (20 "Основное производство" и 23 "Вспомогательное производство") в разрезе объектов аналитического учета (измерение "Статья затрат") и их группировок (измерение "Вид деятельности"). В результате с помощью фильтров можно получить в одном отчете группировки затратных статей из различных синтетических счетов.

Помимо фильтров, полезная функция OLAP - сортировка измерений по значениям фактов. Она удобна для выявления приоритетных или, наоборот, наименее выгодных позиций: филиалов, контрагентов, видов деятельности, продуктов и т.д. Например, чтобы выявить наиболее затратные статьи заданного периода, можно отсортировать измерение "Статья затрат" по возрастанию.

Управляя составом измерений отчета, можно оценивать затраты предприятия с разных позиций. Например, для анализа затрат в разрезе структурных подразделений предприятия в отчет достаточно добавить измерение "Филиал" (см. рис.).

Рис. 6. OLAP-отчет

Анализ выполнения работ подрядчиками

OLAP-инструменты "говорят" со своими потребителями на одном языке. Это достигается за счет создания семантического слоя, когда полям из БД ERP-системы присваиваются названия, в терминах предметной области. В результате переименования колонки, строки и цифры в OLAP-таблице приобретают прикладной смысл, понятный конечным пользователям отчетов.

Наглядный пример - отчет по картотеке незавершенного строительства за 2003 год (см. рис.). Он показывает состояние расчетов с подрядчиками (измерение "Контрагент"), из которых можно оценивать ход выполнения работ по объектам строительства (измерение "Стройка"). Уплаченные суммы представлены в разрезе бухгалтерских документов: счетов-фактур (измерение "Счет-фактура") и соответствующих платежных документов и актов сдачи-приемки (измерение "Номер документа"). В таблице фактов представлены остатки по счетам 08 "Вложения во внеоборотные активы" (факт "Выполнен.работ"), 19 "НДС по приобретенным ценностям" (факт "НДС по работам") и 60 "Расчеты с поставщиками" (факт "Оплачено). К примеру, из таблицы видно, что за работы по строительству 14-этажного жилого дому на Можайском шоссе, подрядчику ЖилСтройКомплект был оплачен аванс в размере 41800 рублей по платежному документу А08016. В акте сдачи-приемки работ №34 было зафиксировано, что работы на сумму 41800 рублей, не облагаемые НДС, выполнены. Таким образом, счет-фактура №256 был закрыт.

Автоматический подсчет промежуточных итогов по разным измерениям таблицы позволяет мгновенно получить дополнительную информацию - суммарные затраты по объекту строительства или конкретному поставщику.

Рис. 7. OLAP-отчет

Анализ прибыли и убытков предприятия по видам деятельности

Для "Отчета о прибыли и убытках" бухгалтер готовит различные группировки по счету 99 "Прибыли и убытки". В OLAP-системе их можно получить практически мгновенно.

В одном OLAP-отчете объединенные в группы проводки по счету 99 показывают источники возникновения прибыли (в разрезе измерения "Филиал") и прибыльные бизнес-направления (в разрезе измерения "Вид деятельности"). По каждой группе проводок автоматически рассчитываются итоговые значения для сравнения составляющих прибылей и убытков.

Если дополнительно разложить данные по датам на периоды: по месяцам, кварталам (см. рис) и др., можно с разным масштабом оценить динамику прибыли.

Рис. 8. OLAP-отчет

Реальный выигрыш

Накопленный опыт эксплуатации OLAP-системы как надстройки над ERP показал ряд существенных положительных моментов:

  • Формирование глубоких аналитических отчетов у пользователей выполняется моментально.
  • Настройка отчетов для пользователей при помощи визуальных средств проектирования, которые входят в состав OLAP-системы, происходит значительно быстрее, чем при программировании отчетов. Аналитик, настраивающий отчеты, может совершенно не владеть навыками программирования.
  • При работе с OLAP-отчетами пользователь не ограничен в возможностях анализа и синтеза данных. При необходимости он самостоятельно модифицирует представление отчета без привлечения программиста.
  • Присваивая одним и тем же измерениям различные названия, можно настраивать отчеты для потребителей информации различных уровней. При этом в отчетах за разными названиями может скрываться одна и та же информация.
  • За счет высокой скорости получения разнообразных отчетов снижается совокупное время, затрачиваемое на анализ финансового состояния предприятия.
  • Сокращаются расходы на разработку и сопровождение системы отчетности предприятия, обеспечивается независимость от поставщика ERP-систем по номенклатуре отчетов.

Автор надеется, что все изложенное в статье будет полезно IT-службам и прикладным специалистам предприятий, и поможет им преодолеть искусственный барьер перед использованием OLAP-инструментов для подготовки разнообразной отчетности на основе ERP-систем.

OLAP (On-Line Analytical Processing) – это класс приложений и технологий, предназначенных для оперативной аналитической обработки многомерных данных (сбор, хранение, анализ) для анализа деятельности корпорации и прогнозирования будущего состояния с целью поддержки принятия управленческих решений. Технология OLAP применяется, чтобы упростить работу с многоцелевыми накопленными данными о деятельности корпорации в прошлом и не погрязнуть в их большом объеме, а также превратить набор количественных показателей в качественные, позволяет аналитикам, менеджерам и управляющим сформировать свое собственное видение данных, используя быстрый, единообразный, оперативный доступ к разнообразным формам представления информации. Такие формы, полученные на основании первичных данных, позволяют пользователю сформировать полноценное представление о деятельности предприятия.

Функциональность OLAP, как систем реализующих интеллектуальный анализ данных, заключается в динамическом многомерном анализе консолидированных данных предприятия, направленном на поддержание следующих аналитических и навигационных видов деятельности пользователя:

  • вычисления и моделирование, примененные к измерениям и/или их конкретным элементам, использующие информацию об иерархиях
  • анализ временных тенденций и взаимозависимостей показателей (анализ трендов), учет которых помогает повысить качество принимаемых оперативных и стратегических решений
  • формирование срезов многомерного представления для просмотра на экране
  • переход к более глубоким уровням детализации
  • доступ к исходным данным
  • "вращение" многомерных представлений: перемещение измерений с целью формирования различных форм представления данных на экране компьютера

OLAP-технология

OLAP-технология является альтернативой традиционным методам анализа данных, основанным на различных системах реализации SQL-запросов к реляционной БД. OLAP-системы играют важнейшую роль в анализе и планировании деятельности крупных предприятий и являются одним из направлений развития ИТ. В основу кладутся требования людей принимающих решения к предоставляемой информации, сложившейся индивидуальные особенности ведения дел и принятый механизм принятия решения. С точки зрения пользователя основное отличие OLAP-системы от ХД заключается: в предметной структурированности информации (именно предметной, а не технической). Работая с OLAP-приложением, пользователь применяет привычные категории и показатели – виды материалов и готовой продукции, регионы продаж, объем реализации, себестоимость, прибыль и т. п. А для того чтобы сформировать любой, даже довольно сложный запрос, пользователю не придется изучать SQL. При этом ответ на запрос будет получен в течение всего нескольких секунд. Кроме того, работая с OLAP-системой, экономист может пользоваться такими привычными для себя инструментами, как электронные таблицы или специальные средства построения отчетов.

Разработка решений по управлению предприятием

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

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

Главная особенность аналитических БД (OLAP) – это возможность формирования нерегламентированных запросов к аналитической БД. Загрузка данных в систему производится из оперативной БД предприятия. Корпоративная аналитическая система может состоять из нескольких модулей, каждый из которых обрабатывает несколько информационных массивов, необходимых для проведения всестороннего анализа соответствующего аспекта деятельности предприятия. Информационная модель, на основе которой разработана информационная система, в полном объеме описывает все аспекты предметной области и обеспечивает наглядность и простоту доступа к необходимым для анализа данным.

Внешнее отображение информации в системе

Внешнее отображение информации в системе реализовано в виде электронной таблицы или графика с использованием механизма двумерных сечений куба многомерной БД. Сечение определяется пользователем путем выбора двух независимых размерностей (ребер куба), значения которых будут представлены в строках и столбцах электронной таблицы, и фиксации значений всех других размерностей информационной модели. Интерфейс предлагаемой системы представляет собой несколько экранных форм, каждая из которых включает в себя электронную таблицу или график.

OLAP (On-Line Analytical Processing) - это не отдельно взятый программный продукт, не язык программирования и даже не конкретная технология, это совокупность концепций, принципов и требований, лежащих в основе программных продуктов, облегчающих аналитикам доступ к данным. Термин OLAP очень популярен в настоящее время и OLAP-системой зачастую, но не совсем верно, называют любую DSS-систему, основанную на концепции ХД и обеспечивающих малое время выполнение (On-Line) аналитических запросов, не зависимо от того, используется ли многомерный анализ данных.

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

Двенадцать определяющих принципов OLAP были сформулированы в 1993 году Е.Ф.Коддом, "изобретателем" реляционных баз данных. OLAP - это OnLine Analytical Processing, то есть оперативный анализ данных. Позже определение Кодда было переработано в так называемый тест FASMI (Fast Analysis of Shared Multidimensional Information - быстрый анализ разделяемой многомерной информации), который требует, чтобы OLAP-приложение предоставляло следующие возможности быстрого анализа разделяемой многомерной информации: высокая скорость; анализ; разделение доступа; многомерность; работа с информацией..

Высокая скорость . Анализ должен производиться одинаково быстро по всем аспектам информации. При этом допустимое время отклика составляет не более 5 секунд.

Анализ . Должна существовать возможность производить основные типы числового и статистического анализа - предопределенного разработчиком приложения или произвольно определяемого пользователем.

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

Многомерность . Основная, наиболее существенная характеристика OLAP.

Работа с информацией. Приложение должно иметь возможность обращаться к любой нужной информации, независимо от ее объема и места хранения.

Многомерное представление. OLAP предоставляет организациям максимально удобные и быстрые средства доступа, просмотра и анализа деловой информации. Что наиболее важно - OLAP обеспечивает пользователя естественной, интуитивно понятной моделью данных, организуя их в виде многомерных кубов (Cubes). Осями (dimensions) многомерной системы координат служат основные атрибуты анализируемого бизнес-процесса. Например, для процесса продаж это может быть категория товара, регион, тип покупателя. Практически всегда в качестве одного из измерений используется время. Внутри куба находятся данные, количественно характеризующие процесс, - так называемые меры (Measures). Это могут быть объемы продаж в штуках или в денежном выражении, остатки на складе, издержки и т.п. Пользователь, анализирующий информацию, может "нарезать" куб по разным направлениям, получать сводные (например, по годам) или, наоборот, детальные (по неделям) данные и осуществлять прочие операции, которые необходимы ему для анализа.

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


Однако построение агрегатов может привести к значительному увеличению объема базы данных.

Другой проблемой хранения OLAP-данных является разреженность многомерных данных. Например, если в 2000 году продаж в некотором регионе не было, то на пересечении соответствующих измерений куба не будет никакого значения. Если OLAP-сервер будет хранить в таком случае некое отсутствующее значение, то при значительной разреженности данных количество пустых ячеек (требующих, тем не менее, места для хранения) может во много раз превысить количество заполненных, и в результате общий объем неоправданно возрастет. Решения, предлагаемые для этого компанией Microsoft, приводятся ниже.

Разновидности OLAP. Для хранения OLAP-данных могут использоваться:

Специальные многомерные СУБД (OLAP-серверы). В этом случае говорят о MOLAP (Multidimensional OLAP) . При выполнении сложных запросов, анализирующих данные в различных измерениях, многомерные СУБД обеспечивают большую производительность, чем реляционные. При этом скорость выполнения запроса не зависит от того, по какому измерению производится «срез» многомерного куба.

Традиционные реляционные СУБД - ROLAP (Relational OLAP) . Применение специальных структур данных - схемы «звезды» (star) и «снежинки» (snowflake), а также хранение вычисленных агрегатов делают возможным многомерный анализ реляционных данных. Реляционные СУБД исторически более привычны, и в них сделаны значительные инвестиции, поэтому пока ROLAP более распространен.

Комбинированный вариант - HOLAP (Hybrid OLAP) , совмещающий и тот и другой вид СУБД. Одним из вариантов совмещения двух типов СУБД является хранение агрегатов в многомерной СУБД, а детальных данных (имеющих наибольший объем) - в реляционной.

Компания Microsoft предлагает следующие средства OLAP-анализа:

В комплект Microsoft SQL Server 7.0 входит полнофункциональный OLAP-сервер - SQL Server OLAP Services. Сервер, естественно, предназначен для обслуживания запросов клиентов, а для этого требуется некий протокол взаимодействия и язык запросов. Например, для взаимодействия клиента с серверной реляционной СУБД - SQL Server - используются протоколы ODBC или OLE DB и язык запросов SQL. Для доступа к OLAP-серверу компанией Microsoft был разработан протокол OLE DB for OLAP и язык запросов к многомерным данным - MDX (MultiDimensional eXpression). Аналогично тому, как для упрощения и удобства над OLE DB разработан слой объектов ADO (ActiveX Data Objects), над OLE DB for OLAP построен ADO MD (MultiDimensional ADO).

Средства анализа данных в Microsoft Office 2000. Microsoft Excel 2000 содержит новый механизм сводных таблиц - OLAP PivotTable, который заменил собой одноименный механизм предыдущих версий. Наряду с прежними возможностями анализа реляционных данных, механизм PivotTable теперь включает возможности анализа OLAP-данных, то есть выступает в качестве OLAP-клиента. В качестве сервера может использоваться Microsoft SQL Server 7.0, а также любой продукт, поддерживающий интерфейс OLE DB for OLAP. Механизм сводных таблиц Excel в полном объеме поддерживает возможности, предоставляемые описанным выше сервисом PivotTable Services (PTS). Таким образом, анализируемые OLAP-данные могут находиться как в локальных кубах, так и на OLAP-сервере.

Microsoft Office 2000 содержит также набор ActiveX-компонентов, называемых Office 2000 Web Components , которые позволяют организовать анализ OLAP-данных средствами просмотра Web. К ним относятся следующие четыре компонента:

Spreadsheet - реализует ограниченную функциональность листа Excel.

PivotTable - "близнец" сводных таблиц Excel; может работать с данными OLAP Services.

Chart - позволяет строить диаграммы, основанные как на реляционных, так и на OLAP-данных.

Data Source - служебный компонент для привязки остальных компонентов к источнику данных.

При работе с OLAP-данными Web Components обращаются к PivotTable Services.

5.5. ТЕХНОЛОГИЯ АНАЛИЗА «DATA MINING»

Появление технологии Data Mining связано с необходимостью извлекать знания из накопленных информационными системами разнородных данных. Возникло понятие, которое по-русски стали называть «добыча», «извлечение» знаний. За рубежом утвердился термин «Data Mining».

Широко использовавшиеся раньше методы математической статистики оказались полезными главным образом для проверки заранее сформулированных гипотез (verification-driven data mining) и для «грубого» разведочного анализа, составляющего основу оперативной аналитической обработки данных (online analytical processing – OLAP).

Ключевое достоинство «Data Mining» по сравнению с предшествующими методами – возможность автоматического порождения гипотез о взаимосвязи между различными параметрами или компонентами данных. Работа аналитика при работе с традиционным пакетом обработки данных сводится фактически к проверке или уточнению одной-двух порожденных им самим гипотез. В тех случаях, когда начальных предположений нет, а объем данных значителен, существующие системы теряют работоспособность и превращаются в пожирателей времени аналитика.

Еще одна важная особенность систем Data Mining возможность обработки многомерных запросов и поиска многомерных зависимостей. Уникальна также способность систем data mining автоматически обнаруживать исключительные ситуации – т.е. элементы данных, "выпадающие" из общих закономерностей.

Выделяют пять стандартных типов закономерностей, которые позволяют выявлять методы Data Mining

ассоциация

последовательность

классификация

кластеризация

прогнозирование

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

Таблица 1 – Сравнение формулировок задач при использовании методов OLAP и Data Mining

Удивительное - рядом...

По ходу работы мне часто требовалось делать сложные отчеты, я все время пытался найти в них что-то общее, чтобы составлять их более просто и универсально, даже написал и опубликовал по этому поводу статью «Дерево Осипова». Однако мою статью раскритиковали и сказали, что все те проблемы, которые я поднял, давно уже решены в MOLAP.RU v.2.4 (www.molap.rgtu.ru) и порекомендовали посмотреть сводные таблицы в EXCEL.
Это оказалось настолько простым, что приложив к этому свои гениальные ручонки, у меня получилась очень простая схема для выгрузки данных из 1С7 или любой другой базы данных (в дальнейшем под 1С подразумевается любая база данных) и анализа в OLAP.
Я думаю, многие схемы выгрузки в OLAP слишком усложнены, я выбираю простоту.

Характеристики :

1. Для работы требуется только EXCEL 2000.
2. Пользователь сам может конструировать отчеты без программирования.
3. Выгрузка из 1С7 в простом формате текстового файла.
4. Для бухгалтерских проводок уже имеется универсальная обработка для выгрузки, работающая в любой конфигурации. Для выгрузки других данных имеются обработки-образцы.
5. Можно заранее сконструировать формы отчетов, а затем применять их к разным данным без их повторного конструирования.
6. Довольно хорошая производительность. На первом длительном этапе данные сначала импортируются в EXCEL из текстового файла и строится куб OLAP, а затем довольно быстро на основе этого куба может быть построен любой отчет. Например, данные о продажах товара по магазину за 3 месяца с ассортиментом 6000 товаров, загружаются в EXCEL 8 минут на Cel600-128M, рейтинг по товарам и группам (OLAP-отчет) пересчитывается за 1 минуту.
7. Данные выгружаются из 1С7 полностью за указанный период (все движения, по всем складам, фирмам, счетам). При импорте в EXCEL возможно использование фильтров, загружающих для анализа только нужные данные (например, из всех движений, только продажи).
8. В настоящее время разработаны способы анализа движений или остатков, но не движений и остатков вместе, хотя это в принципе возможно.

Что такое OLAP : (www.molap.rgtu.ru)

Предположим у вас есть торговая сеть. Пусть данные о торговых операциях выгружены в текстовый файл или таблицу вида:

Дата - дата операции
Месяц - месяц операции
Неделя - неделя операции
Вид - закуп, продажа, возврат, списание
Контрагент - внешняя организация, участвующая в операции
Автор - человек, выписавший накладную

В 1С, например, одна строка этой таблицы будет соответствовать одной строке накладной, некоторые поля (Контрагент, Дата) при этом берутся из шапки накладной.

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

Эта таблица является исходной для OLAP-анализа.

Отчет

Измерения

Данные

Фильтр

Сколько товара и на какую сумму продается за день?

Дата, Товар

Количество, Сумма

Вид="продажа"

Какие контрагенты поставили какой товар на какую сумму помесячно?

Месяц, Контрагент, Товар

Сумма

Вид="закуп"

На какую сумму выписали операторы накладных какого вида за весь период отчета?

Сумма

Пользователь сам определяется, какие из полей таблицы будут Измерениями, какие Данными и какие Фильтры применять. Система сама строит отчет в наглядной табличной форме. Измерения можно размещать в заголовках строк или столбцов таблицы отчета.
Как видно, из одной простой таблицы можно получить множество данных в виде различных отчетов.


Как использовать у себя :

Данные из дистрибутива распаковать именно в каталог c:\fixin (для торговой системы возможно в c:\reports) . Прочитайте readme.txt и выполните все инструкции в нем.

Сначала вы должны написать обработку, которая выгружает данные из 1С в текстовый файл (таблицу). Вам нужно определить состав полей, которые будут выгружаться.
Например, уже готовая универсальная обработка, которая работает в любой конфигурации и выгружает для OLAP-анализа проводки за период, выгружает для анализа следующие поля:

Дата|ДеньНедели|Неделя|Год|Квартал|Месяц|Документ|Фирма|Дебет|ДтНоменклатура
|ДтГруппаНоменклатура|ДтРазделНоменклатура|Кредит|Сумма|ВалСумма|Количество
|Валюта|ДтКонтрагенты|ДтГруппаКонтрагенты|КтКонтрагенты|КтГруппаКонтрагенты|
КтРазныеОбъекты

Где под префиксами Дт(Кт) идут субконто Дебета (Кредита), Группа - это группа данного субконто (если имеется), Раздел - группа группы, Класс - группа раздела.

Для торговой системы поля могут быть такие:

Направление|ВидДвижения|ЗаНал|Товар|Количество|Цена|Сумма|Дата|Фирма
|Склад|Валюта|Документ|ДеньНедели|Неделя|Год|Квартал|Месяц|Автор
|КатегорияТовара|КатегорияДвижения|КатегорияКонтрагента|ГруппаТовара
|ВалСумма|Себестоимость|Контрагент

Для анализа данных используются таблицы "Анализ движений.xls" ("Анализ бухгалтерии.xls"). Открывая их, не отключайте макросы, иначе вы не сможете обновлять отчеты (они запускаются макросами на языке VBA). Исходные данные эти файлы берут из файлов C:\fixin\motions.txt (C:\fixin\buh.txt), в остальном они одинаковые. Поэтому возможно, вам придется скопировать ваши данные в один из этих файлов.
Чтобы в EXCEL загрузились ваши данные, выберите или напишите свой фильтр и нажмите кнопку "Сформировать" на листе "Условия".
Листы отчетов начинаются префиксом "Отч". Перейдите на лист отчета, нажмите "Обновить" и данные отчета изменятся в соответствии с последними загруженными данными.
Если вас не устраивают стандартные отчеты, есть лист ОтчШаблон. Скопируйте его в новый лист и настройте вид отчета, работая со сводной таблицей на этом листе (о работе со сводными таблицами - в любой книге по EXCEL 2000). Рекомендую настраивать отчеты на небольшом наборе данных, а затем уже запускать их на большом массиве, т.к. нет никакой возможности отключить перерисовку таблиц при каждом изменении макета отчета.

Технические комментарии :

При выгрузке данных из 1С пользователь выбирает папку, куда ему выгружать файл. Я сделал это потому, что вполне вероятно в ближайшем будущем будут выгружаться несколько файлов (остатки и движения). Затем по нажатию в Проводнике кнопки "Отправить" --> "На OLAP-анализ в EXCEL 2000" данные копируются из выбранной папки в папку C:\fixin. (чтобы эта команда появилась в списке команды "Отправить" и нужно скопировать файл "На OLAP-анализ в EXCEL 2000.bat" в каталог C:\Windows\SendTo) Поэтому выгружайте данные сразу давая имена файлам motions.txt или buh.txt.

Формат текстового файла:
Первая строка текстового файла - заголовки колонок разделенные "|", остальные строки содержат значения этих колонок, разделенные "|".

Для импорта текстовых файлов в Excel используется Microsoft Query (составная часть EXCEL) для его работы необходимо наличие в каталоге импорта (C:\fixin) файла shema.ini, содержащего следующую информацию:


ColNameHeader=True
Format=Delimited(|)
MaxScanRows=3
CharacterSet=ANSI
ColNameHeader=True
Format=Delimited(|)
MaxScanRows=3
CharacterSet=ANSI

Пояснение: motions.txt и buh.txt - это название раздела, соответствует имени импортируемого файла, описывает, как импортировать текстовый файл в Эксель. Остальные параметры означают, что первая строка содержит названия колонок, разделителем колонок является "|", набор символов - Windows ANSI (для ДОС - OEM).
Тип полей определяется автоматически исходя из содержащихся в колонке данных (дата, число, строка).
Перечень полей не нужно нигде описывать - EXCEL и OLAP сами определят, какие поля содержатся в файле по заголовкам в первой строке.

Внимание, проверьте ваши региональные настройки "Панель управления" --> "Региональные настройки" . В моих обработках числа выгружаются с разделителем запятая, а даты в формате "ДД.ММ.ГГГГ".

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

Я понимаю, что любители MS SQL Server и мощных баз данных начнут ворчать, что у меня слишком все упрощено, что моя обработка загнется на годичной выборке, но в первую очередь я хочу дать преимущества OLAP-анализа для средних организаций. Я бы позиционировал этот продукт как инструмент годичного анализа для оптовых компаний, квартального анализа для розничной торговли и оперативного анализа для любой организации.

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

Описание работы в EXCEL (для пользователей):

Инструкция по использованию отчетов:
1. Отправьте на анализ выгруженные данные (уточните у администратора). Для этого нажмите правой кнопкой на папке, в которую у вас выгрузились данные из 1С и выберите команду "Отправить", затем "На OLAP-анализ в EXCEL 2000".
2. Откройте файл "Анализ движений.xls"
3. Выберите Значение фильтра, нужные вам фильтры можно дописать на закладке "Значения".
4. Нажмите кнопку "Сформировать", при этом выгруженные данные будут загружены в EXCEL.
5. После загрузки данных в EXCEL, можно смотреть различные отчеты. Для этого достаточно нажать кнопку "Обновить" в выбранном отчете. Листы с отчетами начинаются на Отч.
Внимание! После того как вы поменяете значение фильтра, нужно еще раз нажать кнопку "Сформировать", чтобы данные в EXCEL перезагрузились из файла выгрузки в соответствие с фильтрами.

Обработки из демо-примера:

Обработка motionsbuh2011.ert – последняя версия выгрузки проводок из Бухгалтерии 7.7 для анализа в Excel . В ней есть галочка «Присоединить в файл», которая позволяет выгружать данные частями по периодам, присоединяя их в один и тот же файл, а не выгружая в один и тот же файл заново:

Обработка motionswork.ert выгружает данные о продажах для анализа в Excel.

Примеры отчетов :

Шахматка по проводкам:

Загруженность операторов по видам накладных:

P.S. :

Понятно, что по аналогичной схеме можно организовать выгрузку данных из 1С8.
В 2011 году ко мне обращался пользователь, которому нужно было доработать эту обработку в 1С7, чтобы она выгружала большие объемы данных, я нашел аутсорсера и выполнил эту работу. Так что разработка вполне актуальна.

Обработка motionsbuh2011.ert доработана, чтобы справляться с выгрузкой большого объема данных.