FastCube - высокоскоростной движок OLAP-кубов и Pivot Grid

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

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

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

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

На волне востребованности OLAP-систем компания Fast Reports выпустила свою – FastCube.  Так как конечным итогом работы аналитика становится отчет, всякая OLAP-система должна уметь их генерировать. Это можно отнести к сильным сторонам FastCube, ведь она использует популярный и быстрый генератор отчетов FastReport VCL для платформ VCL и LCL (FastCube VCL), FastReport.Net – для платформы .Net и Mono (FastCube .Net), FastReport FMX – для платформы FMX (FastCube FMX).

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

Какие же возможности предоставляет нам FastCube.Рассмотрим их кратко:

1)      Очень просто создавать срезы. Главное - указать источник данных: таблица, либо SQL запрос. Затем, вы добавляете в кросс-таблицу нужные поля в измерения, показатели (measures), сортировку, фильтры и прочее.

2)      Доступны стандартные статистические операции: сумма, минимальное, максимальное, среднее значение, счетчик, дисперсия. Эти операции используются для фильтрации или выделения данных.

3)      Дополнительные функции для фильтрации и условного выделения данных: список уникальных значений, количество уникальных значений, первое встреченное значение.

4)      Возможность создавать вычисляемые показатели. Это реализуется с помощью скрипта на одном из доступных языков программирования (Delphi и C++ - для платформы VCL, VB.Net, C# - для .Net)

5)      Сортировка по осям (по измерениям и показателям). Можно применить несколько сортировок для каждого измерения.

6)      Условное выделение значений ячейки в срезе. Эта очень полезная функция, которая позволит выделить цветом, или значками данные, в зависимости от условия.

7)      Гибкие настройки отображения итогов. Можно задавать положение итога (в начале, в конце), делать невидимыми.

8)      Возможность создавать вычисляемые фильтры значений при расчете показателей. Реализуется с помощью скрипта.

9)      Формат вывода показателей (дата, деньги, текст, число). Можно добавить свой формат.

10)   Измерения можно сворачивать как конкретные, так и все целиком.

11)   Кросс-таблицу можно транспонировать – поворачивать, менять строки и столбцы местами.

12)   Показатели могут отображаться как процент.

13)   Возможность строить графики с помощью TeeChart.

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

15)   Доступен экспорт среза в один из форматов: HTML, DBF, CSV, XML, Open Document Spreadsheet, Excel, Excel 2007.

16)   Можно сохранять куб и схему.

17)   Возможность скопировать диапазон значений из кросс-таблицы в буфер.

18)   Дата автоматически разбивается на дату и время. Так что есть возможность выводить их раздельно.

19)   Срез может быть преобразован в отчет FastReport. А это означает, что могут быть использованы средства генератора отчета для вывода, экспорта и печати этого отчета, что расширяет возможности FastCube.

20)   Возможность экспорта куба/данных в XML.

21)   Настройки куба можно задавать программно или с интерфейса.

22)   Возможность создания готовых шаблонов (схем) для сводных таблиц. Есть возможность запрета изменения схемы пользователем.

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

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

Нужно отметить, что куб можно подключать к базам данных как с помощью стандартных компонентов ADO и BDE, так и с помощью любые других источников данных посредством TDataSet.

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