Название FastCube родилось, как вы понимаете, от FastReport и куб. FastReport – семейство генераторов отчетов под разные платформы, а куб – OLAP структура. Аббревиатура OLAP означает - online analytical processing, интерактивная аналитическая обработка. Но почему куб?
Все просто, если в обычной сводной таблице данные представлены в виде двумерной матрицы, то в кубе соответственно три измерения. Вообще-то говоря их конечно же может быть и больше. Просто слово куб наиболее ярко отражает многомерность структуры. Даже, если вы никогда не работали с OLAP, то наверняка слышали выражение «кубы данных», это и есть OLAP кубы.
OLAP кубы предназначены для отображения больших массивов данных в удобочитаемом виде для проведения аналитики и определения закономерностей, например, падение продаж или рост количества населения. В реляционных базах данных информация хранится разрозненно в разных таблицах, и для получения полной картины аналитику требуется свести несколько таблиц в одно представление – куб. Именно такой куб позволит быстро оценить тенденции во временном разрезе или ином измерении. Исходя из вышесказанного, можно сказать, что куб состоит из множества данных и набора измерений. Аналитик задает измерения, по которым хочет получить данные, и получает в итоге двумерную таблицу. Например:
Этот куб имеет три измерения: Category, Seller и Item. И выводит три колонки данных: Price, Amount, Work price. Таким образом, несмотря на то, что это трехмерный куб, мы всегда получаем данные в двумерном виде, так сказать срез данных.
Программы для работы с кубами данных обладают большим набором инструментов, облегчающих труд аналитика. Например, фильтрация данных, выделение данных по условию, сортировка, группировка и другие. Используя эти инструменты можно мгновенно оценить информацию. К примеру, вы задаете выделение данных красным цветом при превышении какого-либо порогового значения. Увидев красное поле в своем срезе, вы тут же понимаете, что не все «гладко».
Исходя из всего вышесказанного, можно заключить, что OLAP кубы крайне полезны для бизнес-аналитиков, а от их работы зависит успех всей компании.
Итак, мы пришли к выводу, что OLAP программы полезны и востребованы на рынке программного обеспечения. В свое время компания FastReports выпустила программный продукт FastCube VCL, который базировался на библиотеках генератора отчетов FastReport VCL. Наибольшую популярность получила вторая версия - FastCube VCL 2, получившая множество новых функций, присущих всем современным OLAP-программам (подробнее вы можете узнать о них на здесь). Главная особенность программы в том, что она поставляется в виде набора компонентов для Delphi или Lazarus. Это дает возможность создавать собственные программы добавляя в них интерфейс работы с кубами. В поставке также есть готовое демонстрационное приложение для работы с кубами, которое в принципе может удовлетворить потребности большинства пользователей.
Давайте посмотрим на демонстрационное приложение FastCube VCL 2 с кубом:
Но платформа VCL не так распространена, как .Net. Именно поэтому весь функционал FastCube 2 был перенесен в новую программу на основе фреймворка .Net. Новая OLAP библиотека базируется на компонентах FastReport.Net.
Посмотрите на интерфейс демонстрационной программы FastCube .Net:
Практически братья близнецы, не правда ли? Сейчас мы убедимся на примере, что и функциональность этих библиотек одинакова. Более того, вы можете использовать одни и те же файлы куба как в FastCube 2, так и в FastCube .Net.
Если вы заметили, на последних двух скриншотах загружен один и тот же срез куба – simple.mdc. Этот файл одинаково выглядит в обеих рассматриваемых программах.
Все операции выполняются одинаково в обеих программах. А это значит, перейти с FastCube VCL 2 на FastCube .Net не составит никакого труда.
Давайте применим функцию условного выделения данных. Используем иконку .
В появившемся окне нажимаем на иконку создания нового правила: .
В нашем распоряжении два типа подсветки ячеек: выделение всех ячеек в зависимости от значения и выделение ячеек, соответствующих условию.
Давайте выберем второй тип:
Здесь, нам нужно задать тип проверки. В нашем случае Value. То есть будет проверяться значение ячейки. Затем задаем условие проверки – greater. Тут может быть множество вариантов, проверка на: больше, меньше между, больше или равно и так далее. В поле ввода задаем значение, с которым сравниваем. Справа можно выбрать ячейки, к которым применить это правило.
Осталось лишь задать стиль ячейки:
В итоге мы получили правило:
Взгляните на результат для FastCube 2:
А теперь создадим точно такое же правило в FastCube.Net:
Как видите, подсветка работает идентично VCL версии.
Этим примером я хотел показать, что не только интерфейс, но и функционал FastCube .Net сохранен в соответствии с FastCube 2. Более того, в .Net версии уже появились новые «фичи», но об этом в другой статье.