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

29.02.2020

Сложно представить анализ данных без технологии 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 и подразумевает создание собственного приложения на основе компонентов, конечное использование куба пользователем не требует специфических знаний программиста.

.NET VCL FMX FastCube Visual Studio FastReport Delphi
20 февраля 2025

Использование матричных принтеров для печати чеков

В этой статье мы рассмотрим, как интегрировать матричный принтер в процесс создания и вывода отчетов с использованием FastReport .NET.
17 февраля 2025

Добавление новых пользователей в МоиОтчеты Облако

В Business-редакции сервиса МоиОтчеты Облако можно добавлять пользователей в одно рабочее пространство для одновременной совместной работы.
10 февраля 2025

Как попробовать FastReport .NET WEB перед покупкой

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