FastCube - High-Speed OLAP Cube Engine and Pivot Grid

It is difficult to imagine data analysis without OLAP (On-Line Analytical Processing) technology. Although there are differing opinions about whether OLAP should be considered a technology or ideology. After all, OLAP can be imagined as a complex multi-dimensional cube, and as ordinary cross-tables (cross-tabs). All of this can be called rapid data analytics. Traditionally, OLAP has been considered a technology to streamline large amounts of data for statistical analysis.

Often The OLAP system is called cubes. As we know the cube has three dimensions: length, width and height. Therefore, the cube is a three-dimensional figure. It's the same with the data. For example, data on the number of goods sold by each company manager can be presented as a matrix (cross-table). This is a two-dimensional set of data - in the headlines of the lines - the name of the product, in the headlines of columns - the names of managers.

But if we add another dimension, for example, months, this data set will be three-dimensional. And you can add and years. That is the number of dimensions is not limited to two or three. The name of the cube should not mislead you, it only serves to make it immediately clear - it is a multidimensional data warehouse. Thus, the OLAP cube in practice may have several tens of dimensions - this is a very complex structure, which is difficult to imagine in mind. But it is precisely such a multidimensional cube, and allows you to collect all the data into one and quickly obtain the necessary information for the analysis.

To work with cubes, slices are normally in use- that is, a sample of only certain, necessary dimensions. The convenience of working with cubes is that you can instantly add the necessary information to your slice, because the cube is already built, and you take from it only the needed one.

Riding the wave of the necessity of OLAP systems, Fast Reports released its FastCube. Since the end result of the analyst's work is a report, any OLAP system should be able to generate them. This can be attributed to FastCube's strengths, as it uses the popular and fast FastReport VCL report generator for the VCL and LCL (FastCube VCL), FastReport.Net for the .Net and Mono (FastCube .NET), and FastReport FMX for the FMX (FastCube FMX).

Unlike ready "box" products, FastCube is a set of libraries for the target platform. This allows you to include your own OLAP component applications. This solution is more flexible, though, it requires programming skills to create your application. Yet, for those who would satisfied with any standard solution without creating your own application, there is a demo application in the delivery package. It provides an interface for working with the cube and slices and contains all the standard FastCube tools. Perhaps for the majority this application will be enough for their work. This demo application looks like as follows:

What kind of opportunities are offered to us by FastCube. Let's take a look:

1) Very simple cutting. The key is to enter the data source: table or SQL query. Then, you add the required fields to the crosstab to dimensions, measures, classifications, filters, etc.

2) Standard statistical operations: amount, minimum, maximum, average, counter, variance. These operations are used to filter or separate data.

3) Additional filtering and conditional selection functions: unique value list, number of unique values, first value encountered.

4) The ability to create computed metrics. This is implemented with a script in one of the available programming languages (Delphi and C++ - for the VCL platform, VB.Net, C# - for .Net)

5) The axes are classified according to measurements and indicators. You can use multiple sorts for each dimension.

6) Conditional selection of cell values in the slice. This is a very useful feature that allows you to select a colour or data icon, depending on the condition.

7) Flexible settings for displaying the results. You can set the position of the total (at the beginning, at the end), make invisible.

8) The ability to create calculated value filters when calculating metrics. It is implemented with the help of a script.

9) The format of output indicators (date, money, text, number). You can add your own format.

10) Measurements can be rolled out as specific and entire.

11) Cross table can be transposing - rotate, change rows and columns in places.

12) Indicators may appear as percentages.

13) The ability to build graphics using TeeChart.

14) The ability to view and export cell detail, i.e. records from the original table, where the data for the cells are taken.

15) Export slice in one of the formats is available: HTML, DBF, CSV, XML, Open Document Spreadsheet, Excel, Excel 2007.

16) You can save the cube and the scheme.

17) The possibility of copying a range of values from across tables to the clipboard.

18) Dates are automatically divided by date and time. So we can display separately.

19) Slices can be converted to FastReport reports. This means that you can use the report generator's output, export, and print reports, thus increasing the possibility of FastCube.

20) The ability to export cube/data to XML.

21) You can set cube settings programmatically or from the interface.

22) The ability to create ready-made templates (schemes) for summary tables. There is a possibility of prohibiting the user from changing the scheme.

The above features of the product tell us that in addition to the standard features on the creation of cube slices, sorting and filtering, there are advanced data analysis tools. In particular, it is a tool of conditional data selection. Depending on the conditions of the cell may be highlighted color, may be added to a cell or icons gradient. These graphical indicators will help you to quickly assess which of the values fall within the specified range, or above it.

The possibility of exporting a slice is not insignificant. This can be done both by FastCube and through a report generator. In the second case, the list of possible export formats is much larger.

It should be noted that the cube can be connected to databases using both standard ADO and BDE components and any other data sources through TDataSet.

In conclusion, FastCube provides fast downloading and processing of large amounts of data. Although FastCube involves creating its own application based on components, the end use of the cube by the user does not require any specific programming knowledge.