From FastCube VCL 2 to FastCube .Net

The name FastCube has occurred, as you understand, from FastReport and the cube. FastReport - a family of report generators for different platforms, and a cube - OLAP structure. The abbreviation OLAP means - online analytical processing. But why the cube?

It is simple, if in the usual summary table the data is presented as a two-dimensional matrix, then in a cube - three dimensions. Generally speaking, they certainly can be more. Just the word cube most clearly reflects the multidimensional structure. Even if you have never worked with OLAP, you probably heard the expression "data cubes". This is the OLAP cubes.

OLAP cubes are designed to display large amounts of data in a legible form for conducting analytics and determining patterns, for example, falling sales or population growth. In relational databases, information is stored separately in different tables and to get a complete picture, the analyst needs to reduce several tables into one view - the cube. It is this cube that will allow you to quickly assess trends in a time frame or another dimension. Based on the foregoing, we can say that the cube consists of a set of data and a set of measurements. The analyst sets the dimensions by which he wants to get the data and gets a two-dimensional table as a result. For example:


This cube has three dimensions: Category, Seller and Item. And it displays three columns of data: Price, Amount, Work price. So, despite the fact that this is a three-dimensional cube, we always get data in two-dimensional form, so to speak, the data slice.

Programs for working with data cubes have a large set of tools that facilitate the work of the analyst. For example, data filtering, data selection by condition, sorting, grouping, and others. Using these tools, you can instantly evaluate information. For example, you set the selection of data in red when any threshold is exceeded. Having seen the red field, in its cut, you immediately understand that not everything is "smooth".

Based on all of the above, we can conclude that OLAP cubes are extremely useful for business analysts, and on their work depends the success of the whole company.

So, we came to the conclusion that OLAP libraries are useful and in demand in the software market. At one time, FastReports released FastCube VCL, which was based on the FastReport VCL reports generator libraries. The most popular was the second version - FastCube VCL 2, which got a lot of new features inherent in all modern OLAP-programs (you can find out more about them here). The main feature of the program is that it comes in the form of a set of components for Delphi or Lazarus. This allows you to create your own programs by adding an interface to work with cubes. The delivery also has a ready-made demo application for working with cubes, which in principle can satisfy the needs of most users.

Let's look at the demonstration application FastCube VCL 2 with a cube:

But the VCL platform is not as common as .Net. That's why all the functionality of FastCube 2 has been transferred to a new program based on the .Net framework. The new OLAP library is based on FastReport.Net components.

Look at the interface of the demonstration program FastCube .Net:

Almost brothers are twins, are not they? Now we will see by example that the functionality of these programs is the same. Moreover, you can use the same cube files in both FastCube 2 and FastCube .Net.

If you notice, on the last two screenshots the same cube slice is loaded - simple.mdc. This file looks the same in both programs.

All operations are performed in the same way in both programs. And this means, it will not be difficult to switching from FastCube VCL 2 to FastCube .Net.

Let's apply the function of conditional data highlighting. Use the icon .

In the window that appears, click on the icon for creating a new rule: .


We have two types of cell highlighting: all cells depending on the value and cells matched to the condition.

Let's choose the second type:

Here, we need to specify the type of verification. In our case, Value. That is, the value of the cell will be checked. Then set the test condition to greater. There can be a lot of options, check for: more, less, between, more or equal and so on. In the input field, set the value with which we compare. On the right, you can select the cells to apply this rule to.

It remains only to specify the cell style:


As a result, we got the rule:


Take a look at how it works in FastCube 2:

And now we will create exactly the same rule in FastCube.Net:

As you can see, the highlight works identically to the VCL version.

With this example, I wanted to show that not only the interface, but also the FastCube .Net functionality was stored in accordance with FastCube 2. Moreover, there are new "features" in the .Net version, but about this in another article.