FastCube .NET User Manual
Version 2024.2.1© 2007-2024 Fast Reports Inc.

www.fast-report.com

1 / 71

Table of Contents
The Grid
Setting up the Grid Structure
TotalsDrill Up/Down
Drill ThroughRotation
Filtering
Sorting
Grouping
Data Formatting
Data highlight
Highlight all cells depending on value
Highlighting only the matching cells
Expressions
Expression editor
Using .NET functions
Reference to slice data
Reference to slice elements
ScriptGeneral information
Using .NET objects
Data export
Export to XLS
Export to ODS
Export to HTML
Export to XML
Export to Dropbox
Export to FTP
Toolbar
The Chart
The Chart Toolbar
ExamplesExample "Demography"
Example 1 - Population by country
Example 2 - The dynamics of population growth
Example 3 - Population by sex and age
System requirements
Contacts and support

3
4
7
12
14
15
18
22
23
28
30
31
35
38
39
40
42
43
44
45
46
48
49
50
51
52
53
55
56
58
59
60
61
65
68
70
71

Description of the FastCube Library
The Grid
The Grid is an interactive tool for the presentation and analysis of data. There are multi-level headers in theleft and top parts of the grid. The 'headers' are filled with the dimension values; there are both horizontal
and vertical 'headers'. The central part of the grid displays the values of the measures.

The grid consists of several regions, identified by numbers above:
1. the grid title
2. the filter region : dimensions included in this region can be used for filtering the grid data
3. the vertical dimension headers : dimensions included in this region form the grid's vertical header
4. the horizontal dimension headers : dimensions included in this region form the grid's horizontal
header
5. the vertical header of the grid6. the horizontal header of the grid
7. data region
8. the list of fields : the fields required for processing are dragged from the drop-down list : fields not
required are dragged back to this list
9. list of Top-N filters : filters can be modified through the context menu for this field
10. the region showing aggregates for the selected cells : can be modified through the context menu

www.fast-report.com

3 / 71

Setting up the Grid Structure
The grid structure many be defined in several different ways: by code, by loading from a cube or scheme
file or by manual setup by the user. This paragraph deals only with manual setup of the grid structure.
Dimensions and measures are added to the grid by dragging from the drop-down list (shown below) or byusing the Field List dialog. They are added to one of the following regions:the filters region
the row fields region
the column fields region
or the measure fields region (the data region)
Let's add the fields "Category" and "Item" to the filters region, and drag the "Price" field to the data region.
The grid now looks like this:www.fast-report.com

4 / 71

The number in brackets in the "Measures" dimension indicates the number of measures defined for thisgrid. Here the number of measures is 1, since we dragged the "Price" field to the data region. The"Measures" dimension is in fact not a simple dimension. Unlike all the others, "Measures" contains
measures, and not elements of the database row as its values. This implementation of the measure list as a
pseudo-dimensions allows a consistent approach in the user interface - dragging to any dimension region
and value filter.
No data is yet displayed in the grid above as the grid only displays data when it contains at least one
measure and the "Measures" dimension is located either in the row fields region or in the column fields
region.
For example, if the "Category" and "Item" dimensions are dragged into the row fields region and the"Measures" dimension into the column fields region, then the grid will look like this:www.fast-report.com

5 / 71

www.fast-report.com

6 / 71

Totals
As well as dimension values the grid can also show Total values. Total value is an aggregated measure value
over a group of dimension values. A Total value is calculated using the default aggregate function for themeasure.
The various levels of Total are shown in this partial grid:Use the dimension context menu to change the position of Totals (before or after), to hide Totals and to
manage the aggregate functions.

If in the example above we turn off the Total for the "Seller" dimension and also the Grand Total, set the
Total position for "Category" dimension to "Before" and add an aggregate "Count" to it, we achieve thisfinal grid:www.fast-report.com

7 / 71

The context menu item "From measure" sets Totals to show a value defined on the "Total position"
parameter for the measure. This item only has a value for the axis which contains the "Measures" field andis ignored for other axes.
A measure's Total parameters can be modified in the measure editor:

By default, totals use the same aggregation function as the measure itself. If necessary, it can be replacedwith another one, including using a script to calculate the total value.
When calculating totals, both the values of the main data set and the values of the totals of the levels
located below can be used as the initial data for the calculation. The source is selected based on the“Calculate totals on totals” parameter.
If the “Calculate totals on totals” mode is set, then you need to select the totals along which axis to take forcalculation: from columns or columns. To do this, use the "Use column totals as base" parameter.
www.fast-report.com

8 / 71

It is possible that, in accordance with the measurement parameters, each axis requires changing theaggregation function and these functions are different. In this case, a function selection conflict arises. The"Totals conflict resolution" parameter allows you to resolve this conflict. By default, a cell with a conflict is
not calculated.
The "Total position" parameter specifies how to display the total along the axis with indicators for
dimensions in which the "From measure" parameter is activated.
In the example below, the “From measure” parameter is set for the “Manager” dimension. For the"Amount" indicator the total position is set to "Before", for the "Price" indicator it is set to "Hide", for theremaining indicators - "After". As you can see, the "Price" indicator is hidden for the "Manager" dimension:

The next example shows the outcome when Total aggregate functions are changed and Total values arecalculated on child totals. All three measures are built using the main aggregate function "Sum" by field"Amount". The Total for measure "Amount" is not customized. For measures "Amount1" and "Amount2" theTotals aggregate function is changed to "Average" and the measure "Amount2" uses the "Calculate totals
on totals" option:www.fast-report.com

9 / 71Grand totals can only be managed through the context menu:

www.fast-report.com

10 / 71

General totals can be collapsed. For more information about this, see the section DrillUp and Unfold
Operations.

www.fast-report.com

11 / 71

Drill Up/Down
Grid data can be collapsed (drilled up) to exclude the values of the dimensions located below fromprocessing or can be expanded (drilled down). These operations are performed using the "-" and "+"buttons located on both headers of the grid.
To group the data by the value of a certain dimension, you need to click the "-" button of the corresponding
dimension. And conversely, to refine the data click the "+" button. These buttons are identified as '1' and '2'
below:
1. drill up button
2. drill down button

Drilling up or drilling down changes the structure of the grid header and the data region. The two
illustrations below show how the grid looks after drilling down on "service center" and then after drillingup on "Consumption":

Only the main Total shows when a dimension item is collapsed.
It is possible to collapse the grand totals. The result depends on whether or not the "Measures" field isplaced in the collapsed axis. An axis without measures collapses with the hiding of all the cells except the
grand total cell. An axis with measures can collapse grand totals for each measure independently. The
collapse of measure grand totals hides all the cells of that measure. Collapsing the grand totals of all themeasures hides all the cells except the grand total cells for each measure.
In this example the grand totals for measure "Amount" and "Cost" are collapsed:

www.fast-report.com

12 / 71

And here the grand totals for all the measures are collapsed:

www.fast-report.com

13 / 71

Drill ThroughDouble-clicking on a data cell opens a window showing a Detail Table which contains the source data rows
used for calculation of the selected cell:This Detail Table can be manipulated by:changing the visibility and size of the columns
selecting data cells for copying to the clipboard
exporting data to the same format as the main grid
The status bar shows the current row and total row count.
The call to the detail table can be overridden by the developer to call his own form for displaying detailrecords.

www.fast-report.com

14 / 71

Rotation
The grid layout can easily be changed by moving the dimensions between the three regions: filter region,row dimensions region and column dimensions region. In OLAP terms, this operation is called rotation,
because it corresponds to rotating a multi-dimensional data array. Data rotation enables the same
information to be analysed from different perspectives.
To rotate data in the grid the various dimensions must be dragged with the mouse from one region toanother. As the mouse is dragged over the grid a special pointer shows where the dimension will go if the
button mouse is released at that moment (see grid below):This is the resultant grid after the "Item" dimension has been moved from the row dimensions region to
the column dimensions region:www.fast-report.com

15 / 71

The move can also be made using the field list dialog of the grid:

As well as partial rotation it is also possible to perform total rotation (grid transposition). This operation
moves all the row dimensions to the column region and all the column dimensions to the row region.
Unlike partial rotation, grid transposition does not require the recalculation of data cells and as a result isinstantaneous. Transpose a grid using the 'Transpose' button on the toolbar. Our transposed grid looks likethis:

www.fast-report.com

16 / 71www.fast-report.com

17 / 71

Filtering
Data filtering is performed by excluding certain dimension values from the analysis. Please note that it does
not matter in which region of the grid this dimension is located (filter region, row dimensions region orcolumn dimensions region). Filtered values are not only hidden in the grid header but are also excluded
from measures and Totals calculations.
Values of dimensions can be filtered using the drop-down list which is opened with a mouse-click on thedimension filtering button ('1' below):

Key to the grid above:
1. dimension filtering button
2. list of dimension values
3. drop-down list toolbar
Checked values in the drop-down list are visible in the grid. If un-checked, all the corresponding rows of
the source data are excluded from grid calculations. Values are toggled either by clicking on its checkbox orby selecting the value and pressing the spacebar on the keyboard. Holding the Ctrl button down while
clicking a checkbox turns off all the values except the clicked one.
Depending on the grid settings, changes may be applied automatically or by the Apply button.
The toolbar may contain the following commands:
Icon

ActionMark all values as visible
Mark all values as hidden
Toggle value visibility

www.fast-report.com

18 / 71

Icon

ActionShow only the values that are not filtered by other dimensions
Apply changes and close list
Cancel changes and close list

Filters can also be applied through the grid context menu:

The Filter drop-down list can also be configured as radio buttons instead of checkboxes.

The Filter drop-down list can also be configured as radio buttons instead of checkboxes.
Additional filtering capabilities are provided by the "range editor" of measurement values. It is called
through the measurement context menu, the item "Custom filter... / Configure filter...":

www.fast-report.com

19 / 71

The example below shows the condition for the "Items" dimension: The text contains the substring "oil".

Here is the result of applying this condition:

In the range editor you can create different conditions and combine them:

www.fast-report.com

20 / 71

In addition to filtering, which affects the calculation of indicators and totals, the grid allows you to simply
hide certain nodes in the headers. At the same time, hidden nodes do not in any way affect the calculationsof indicators and totals. Hiding values can only be done through the context menu.

www.fast-report.com

21 / 71

Sorting
All the data in the grid is displayed in sorted order, irrespective of the original order in the source table. The
sort order is either ascending or descending. Numeric values and date/times are sorted in their naturalorder, ascending or descending/. Strings are sorted alphabetically, ascending or descending.
Every dimension in the grid can have its own sort order/. For example, rows for the "Category" dimension
can have ascending order and those for the "Seller" dimension descending order. The default sort order isascending for all dimensions.
By default, sorting is in ascending order.
The sort order of a dimension can be set in two ways:
1. Double click on the dimension header.
2. Selecting the measurement context menu item.
The sort order of the dimension is indicated by the corresponding icon.

In the figure, number 1 indicates the sorting direction icon, and number 2 indicates the measurement
context menu item.
In addition to the sort order, you can also set the sort type separately for rows and columns. There arethree sorting options:
1. By axis values - default sorting.
2. Based on the results of the indicator – sorting is performed according to the total values of theindicator. If there are several indicators, the values of the indicator related to the selected cell are taken
for sorting.
3. By active row/column - sorting is similar to the previous sorting method, except that instead of thevalues of the final row/column, the values of the active (selected in the cross-tab) row/column will be
used.
The sort type is selected independently for column and row dimensions using the toolbar.

www.fast-report.com

22 / 71Grouping
It is possible to combine several measurement values into a group - grouping. It serves to display data
more clearly.
The grouping process consists of creating a group and adding the necessary values to it.
Key points about using groupings in FastCube.Net:
The number of groups in a dimension is not limited;
The existence of empty groups is acceptable;
Empty groups are not shown in the axis tree;
The group must have a unique name within the dimension;
A dimension value cannot be in more than one group;
The dimension value may not be included in any of the groups;
Including a value in a group automatically excludes it from the group it was in;
You can create a system group "Others", which will include all values that are not included in any ofthe existing groups;
Deleting a group automatically excludes all values from it;
You can create, delete, and rename groups, as well as include and exclude values, while the cube is
open in interactive mode;
The value filter window displays groups and their members. The filtering state of a group depends on
the state of the values included in the group;Moving a dimension field between axes and excluding it from the axes does not reset the groups;
The groups are saved in the cube file along with the dimension values;
The axis shows dimensions having groups at two levels: group level and member level. The group levelcontains dimension group names and also dimension values that do not belong to any group. The member
level contains the values which belong to the groups. A group can be in a collapsed state, in which case thegroup members are not shown. If all groups are collapsed then the member level is not shown.
Beware! any operation involving a group, including collapse/expansion, causes measure recalculation
because of the change to the axis.
An example of a grid where the "Manager" dimension has no grouping:www.fast-report.com

23 / 71

The same grid with the dimension "Manager" having two groups, "Dept 1" and "Dept 2", each manager
having been moved to the correct Department group:

Note that group "Dept 1" is expanded and group "Dept 2" is collapsed. Also, manager "Sutherland Claudia"
does not belong to any group since she works in "Dept 3". Let's create a group for her. First open thecontext menu by right-clicking on value "Sutherland Claudia". The "Move to group" options are : add to apreviously created group, or start a new group. Let's choose "Create new...":

www.fast-report.com

24 / 71

And enter the department name:

The new group is created and "Sutherland Claudia" is moved to it:

The filter drop/-down list for the "Manager" dimension now looks like this:Measurement header context menu,

www.fast-report.com

25 / 71measurement values

and Dimension Groups allows you to perform operations on groups.

www.fast-report.com

26 / 71www.fast-report.com

27 / 71

Formatting, highlighting
Data Formatting
By default a grid formats data according to the field type and the precision. For numeric measures the griduses a number format having the same precision as the database field. But sometimes one or moremeasures need to be presented differently. For example, let's change the format of the "Price" measure to
currency:

The Format Editor is opened either from the cell's context menu or through the toolbar:

This editor lists the format categories on the left with the corresponding formats on the right. The format
string, group and decimal separators can be altered if necessary.

www.fast-report.com

28 / 71www.fast-report.com

29 / 71

Data highlight
FastCube.Net cross-table allows to set a special display style for the particular measure values.
It is necessary to create a highlight rule (or several rules) in the measure properties dialog to highlightmeasure data.

All highlight rules can be divided into 2 types which will be given below:
highlight all measure cells depending on their values,
highlight only those cells which match the specified condition.
Rules apply to cells consistently. Therefore, if one cell matches 2 rules which both change cell backgroundthen the last rule wins. On the other hand, if one rule only changes the background and another changes
the font style then cell will get background from the first rule and the font style from the second.
Rules apply to generic cells by default but if needed can also be applied to totals and the grand total.
This can be set in the highlight rule setup dialog.
Some rules require to perform additional calculations in the pivot table (like minimum, average, rank, etc).
And we know that measures can be placed both in rows and in columns. To perform these calculations
FastCube needs to know the Scan direction (the direction to traverse measure cells). "Auto" mode
correctly works in the majority of cases but it may be needed to define the direction by hands. In this casethe Scan direction option needs to be set to the Rows or Columns mode.

www.fast-report.com

30 / 71Highlight all cells depending on value
FastCube.Net can apply four different types of highlighting known as continuous highlighting, whichapplies highlighting to all cells dependent on their values. Each type of continuous highlighting is described
below.

Two color scale and Three color scale

Color scale highlighting fills each cell's background with a color calculated from the given color gradientscale. The editor dialog sets the values for the extreme points and their corresponding colors, and also for
one intermediate point for the three color scale. The values for the points can be set either as absolute
numbers ("Number" option) or as one of the following relative options:
Minimal value / Maximal value - minimal or maximal measure value
Percent - value field sets the percent relative to minimal and maximal measure values
Percentile - value field sets the percentile relative to measure values
An example of two color and three color scale highlighting:www.fast-report.com

31 / 71

Bar

This type of highlighting draws a colored bar within the measure cell. The length of the bar depends on thevalues set under the Shortest bar and the Longest bar properties. The property values, as previously, can be
set with either the absolute or the relative option. The bar can be drawn either in a solid color or with agradient color to white. The frame color for the bar is set independently. The cell value can also be hidden
for this type of highlighting, leaving only the bar visible.
An example of bar highlighting with and without visible cell values:

www.fast-report.com

32 / 71

Icon set

In Icon set highlighting an icon related to the value inside the measure cell is drawn to the left of the cell'svalue. The editor dialog has options for sets of 3, 4 or 5 icons. Each icon used requires a value range to be
set. The cell value can also be hidden for this type of highlighting, leaving only the icon visible.
An example of icon set highlighting with and without visible cell values:

www.fast-report.com

33 / 71www.fast-report.com

34 / 71Highlighting only the matching cells
The rules of this group differ only by the cell selection mechanics. The rule style applies to all the cells
which passes the selection.
The "Style..." button opens the drawing style editor:

The style editor allows you to choose background fill, color and style of the text. Solid fill style only requiresa "Fill Color 1" value, but gradient fill also requires a "Fill Color 2" value.
Here is an example after applying different conditional styles to some measure cells:

Cells that match the condition
Highlight rules can process measure data as number, text, date or check for NULL value. Depending on thetype of processing, different conditions can be used. So, for example, number processing allows "greater"and "lower" conditions while text processing allows "contains" and "not contains" conditions, which look
for a substring within a text string:www.fast-report.com

35 / 71

Most or Least cells
The rule allows to select most or least cells or percent from amount of most/least cells in group. Most cells
are cells with the minimal rank (and maximal value). On the other hand, Least cells are cells with the
maximal rank (and minimal value).

Cells above or below average
The rule allows to select cells comparing with average in group. In addition it is possible to offset fromaverage by the chosen amount of standard deviations.

www.fast-report.com

36 / 71

Cells with unique or repeatable values
The rule allows to select cells which values are repeated or not in the group.

Cells that matches the expression
The rule allows to set any user expression to select cells. One, for example, can check dimension values orvalues of another measure. So, in the below example, we check the first letter of the Manager dimension.

www.fast-report.com

37 / 71

Expressions
FastCube allows to use expressions for Measures, Totals calculation and for Measure filtering.
An expression is a code in C# or VB.Net language, which returns any value. For example:
2 + 2

An expression should be written in a language chosen as a script in a cube. By default, it is C#. You canchange the language by the button "Cube options" and by choosing the "Script" element in a window.

www.fast-report.com

38 / 71

Expression editor
To write an expression quickly, use the expression editor. It can be invoked in such places of FastCube UI,
where you can type an expression:

The expression editor presents a window where you can write an expression and insert some elements intoit:www.fast-report.com

39 / 71

Using .Net functions
You can use any.Net objects in expressions. The following example demonstrates Max function use:
Math.Max(5, 10)

By default a report uses the following .Net assemblies:
System.dll
System.Drawing.dll
System.Windows.Forms.dll
System.Data.dll
System.Xml.dll

You have access to all .Net objects declared in these assemblies. If you need to have access to anotherassembly, add its name in report assemblies list. You can do it in the "Report|Options..." menu, by choosingthe "Script" element in a window:

For example, if you want to use a function in your report which was declared in your application, add
application assembly (.exe or .dll) in a report assemblies list. After that you can call the function by usingnamespace of your application. For example, if the following function is defined in application:www.fast-report.com

40 / 71

namespace Demo{public static class MyFunctions{
public static string Func1(){
return "Hello!";}}}

You can use it in your report in the following way:
Demo.MyFunctions.Func1()

If you add the "using Demo" line at the top of the report's script, it will allows you to shorten the syntax:
MyFunctions.Func1()

To refer to the function or variable that was defined in a script, just use its name:
myPrivateVariableThatIHaveDeclaredInScript
MyScriptFunction()

You can use in an expression only those functions which return a value.

www.fast-report.com

41 / 71Reference to slice data
Apart from standard language elements, you can use the following slice elements in expressions:
measures;dimensions.
Any of these elements can be used in an expression, by including it in square brackets. For example:[Price] + 1

A variable "Page", which returns Price measure value, is used in the expression. It is enclosed in square
brackets.

www.fast-report.com

42 / 71Reference to slice elements
For reference to measures and dimensions, the following format is used:[MeasureName]

Let us look at the following example of using measures in an expression:[Price] * [Amount]

Here it should be noted that: every measure and dimension has a definite data type. How element can beused in an expression depends on its type. For instance, in above mentioned example, Price is double andAmount is integer and that is why they can be used in such a way. In the following example, we will try touse "Item" dimension of string type, which will lead to an error:[Amount] + " " + [Item]

The error occurs because, you never mix strings with numbers. For this, you need to convert the number
into a string:[Amount].ToString() + " " + [Item]

In this case, we refer to the "Amount" measure as if it is an integer variable. And it is so. We know that all
expressions are compiled. All non-standard things (like referring measure) from a compiler's point of vieware converted into another type, which is understandable to a compiler. So, the last expression will beturned into the following form:((int)Slice.Measures.GetItemByName("Amount").CurrentValue).ToString() + " " +((string)Slice.Dimensions.GetItemByName("Item").CurrentValue)

As seen, FastCube changes reference to measures and dimensions in the following way:
[Amount] --> ((int)Slice.Measures.GetItemByName("Amount").CurrentValue)[Item] --> ((string)Slice.Dimensions.GetItemByName("Item").CurrentValue)

www.fast-report.com

43 / 71Script
Script is a higher-level programming language, which works inside the FastCube library. Script can be
written in one of the following .Net languages:
C#
VisualBasic.Net
Using the script, you can do the following:
perform measure calculation and totals calculation, which cannot be done via regular means of the
FastCube engine;
perform dimension values calculation;
In order to see the cube's script, press the "Code" button.
Script language can be set in the "Cube options" window (click on appropriate button on the toolbar). Thisis supposed to be done before writing various handlers, because when changing the language, the existing
script gets deleted.

www.fast-report.com

44 / 71

General Information
In the script, you can:add your variables, methods and properties to the main script class;create slice/cube elements events handler;
add new classes to the script, if needed. A class can be added either before the SliceScript main class orafter it.
You cannot:
delete, rename or change the visibility area of the SliceScript main class;rename a namespace in which the main class is located.
When cube/slice builds, the following occurs:
FastCube adds Slice and Cube variables into the script. This is done before compiling the script andallows you to refer them;a script is compiled, if it is not empty;
variables that were implicitly added to the script are initialized;
event handlers defined in the script are bound to slice/cube objects;
performs further cube/slice building.

www.fast-report.com

45 / 71

Using .NET objects
In a script, you can use any .Net objects, which are defined in the following assemblies:
System.dll
System.Drawing.dll
System.Windows.Forms.dll
System.Data.dll
System.Xml.dll

Apart from that, you can use any object, defined in the FastCube assembly. If you need access to anotherassembly, add it to the list of assemblies. This can be done by "Cube options" button, by choosing the"Script" tab:

For example, if you want to use a function in your cube which was declared in your application, add
application assembly (.exe or .dll) in a cube assemblies list. After that you can call the function by usingnamespace of your application. For example, if the following function is defined in application:namespace Demo{public static class MyFunctions{
public static string Func1(){
www.fast-report.com

46 / 71return "Hello!";}}}

You can use it in your report in the following way:string hello = Demo.MyFunctions.Func1();

If you add the "using Demo" line at the top of the report's script, it will allows you to shorten the syntax:
string hello = MyFunctions.Func1();

www.fast-report.com

47 / 71

Data export
FastCube.Net can export grid data to a number of formats.
Presently export is supported in five formats: Excel, ODS, XML, HTML and DBF. Export in each format is
initiated from buttons on the toolbar:

Exporting uses either the grid data or the source cube data, depending on the export format chosen. So, forexample, Excel export uses the dimensions and measures in the grid, while DBF export is from the source
cube data.
In addition to exporting data, FastCube can copy data from a selected region to the clipboard. A region in
the grid can be selected either using the mouse or by pressing the Shift+arrow keys on the keyboard.
Copying to the clipboard is done using the usual 'Ctrl+C' or 'Ctrl+Insert' combinations or using the context
menu:

www.fast-report.com

48 / 71

Export to XLS
Excel is a Microsoft application for working with electronic spreadsheets. It is included in Microsoft Office.
XLS files can also be opened with OpenOffice and LibreOffice.
When exporting to Excel format the output file settings are made in the export dialog:

Export settings:
Setting

ActionRepeat axes values

Grouped values in grid headers are repeated for each row/column

Use default paletteUse standard Excel colors

Merge cells

Merge cells for ranges

Open after export

Open file immediately after export (requires Excel, OpenOffice or LibreOffice)www.fast-report.com

49 / 71

Export to ODS
OpenDocument Format (ODF : OASIS Open Document Format for Office Application) was designed by
OASIS and based on the XML format used in OpenOffice.
FastCube.Net supports export to the table type OpenDocument format (.ods). These files can be opened in
OpenOffice or LibreOffice.
When exporting to HTML format the output file settings are made in the export dialog:

Export settings:
Setting

ActionRepeat axes values

Grouped values in grid headers are repeated for each row/column

Open after export

Open file immediately after export (requires Excel, OpenOffice or LibreOffice)www.fast-report.com

50 / 71

Export to HTMLHTML (Hypertext Markup Language) is regarded as the standard language for documents on the Internet. It
is used for creating relatively simple but well designed documents. HTML supports hypertext linking as wellas simple document layout.
When exporting to HTML format the output file settings are made in the export dialog:

Export settings:
Setting

ActionHTML Format

Possible values: HTML table - export to HTML table (table tag); Excel Worksheet HTML export to HTML format with Excel extensions

Repeat axes
valuesGrouped values in grid headers are repeated for each row/column

Open afterOpen file immediately after export (requires Excel, OpenOffice or LibreOffice)exportwww.fast-report.com

51 / 71

Export to XML
XML (Extensible Markup Language) is an extendable markup language. XML is intended for structured data
storage and also for information exchange between different programs.
When exporting to HTML format the output file settings are made in the export dialog:

Export settings:
Setting

ActionXML format

See bellow

Open after export

Open file immediately after export (requires Excel, OpenOffice or LibreOffice)XML formats:FormatDescription

Rowsetexport cube data in the format compatible with ADO Rowset

Datasetexport cube data in the format compatible with .Net Dataset

DataPacket

export cube data in the format compatible with ClientDataset of Embarcadero Delphy

XML for Analysis

export slice data in XML for Analysis format

www.fast-report.com

52 / 71

Export to Dropbox
A prepared schema or cube can be saved to a Dropbox from the FastCube .NET. Schema or cube can beexported to one of the supported formats before being saved to the Dropbox.
Before saving a schema or cube to a Dropbox an application must be created in your Dropbox account. Do
this by logging in to your Dropbox account and taking the following steps:
click the “More” button: it is located at the bottom of the Dropbox homepage
choose “Developers” in the drop-down list: you will be directed to the page for developers
go to “App Console”: it directs you to the list of applications
click the “Create App” button: the Dropbox will check your email: click Send Email.
In your mail system inbox you will find an email having a “Confirm” button: click the button to confirm
your email address.
This will take you to the "Create a new Dropbox Platform app" page. Here you need to select “Dropbox APIapp” and answer the question “What type of data does your app need to store on Dropbox?” select theanswer "Files and datastores". And to the question “Can your app be limited to its own, private folder?” You
can choose any of the two proposed answers. The last thing on this page is to enter the application name (itcan be anything). After clicking on the "Create app" button, the system will check if the application nameyou entered is already taken and will create the application.
As a result, we will be taken to the application settings page. Here we are interested in the “Access token”; itwill be needed when exporting to Dropbox.
Now you can go to FastCube .NET and export the file to Dropbox. To do this, click on the "Save" button andselect "Dropbox". The first time you try to export to Dropbox, the Application Info window will appear:

Enter the “Access Token” obtained above. After clicking the “OK” button FastCube .NET saves these values
and uses them again the next time.
The “Save to Dropbox” window has two tabs: File and Proxy:www.fast-report.com

53 / 71

On the "File" tab, you can select the type of file to save (Ready slice, cube or one of the exports). When you
select one of the exports, the "Settings..." button becomes available. By clicking on this button, you can go
to the settings window for the selected export.
If a proxy server is used then the URL-address, port, username and password of the proxy server are set on
the Proxy tab:When all settings have been made click the “OK” button to save the file to the Dropbox.

www.fast-report.com

54 / 71

Toolbar
The grid toolbar contains the following set of buttons:
Icon

ActionSave cube or scheme to file. Cube files have an mdc extension - they contain source data array,filters and formatting settings. Scheme files have an mds extension - as well as formatting
settings they can also contain filters
Load cube or scheme file. Also allows loading of an additional data array to the current cube (e.g.
data from another time period)
Clear formatting scheme
Export data to external formats drop-down menu shows list of available formats
Transpose grid
Hide dimension values having only zero or empty data in rows
Hide dimension values having only zero or empty data in columns
Select sort mode by rows
Select sort mode by columns
Open measure editor dialog
Open measure highlight options
Open measure format options
Open field list window
Show information about grid structure, data loading elapsed time, creation of headers andcalculation of measures

www.fast-report.com

55 / 71

The Chart
The data in a grid may be presented as a cumulative 2D chart. The MsChart component is used for displayof the chart. Depending on the settings, one of the major dimensions of the rows/columns is used for thechart series and the opposing dimension (i.e. the major dimension in the columns/rows) is used to supply
the values in each of the series.

If the source grid does not contain row dimensions or column dimensions, the chart will generate aninternal view of the grid with dimensions in the row and column areas.
The chart view is configured in the "Chart properties" dialog, which opens by clicking on the corresponding
button on the chart toolbar.

www.fast-report.com

56 / 71

The main property is the source of data for the series and categories. Possible sources are: the dimensions
and the measures in the grid. The dimension region, number of dimensions for the names ofcategories/series and the measure index need to be selected appropriate to the selected source.

www.fast-report.com

57 / 71

The Chart Toolbar
The chart toolbar contains the following set of buttons:
Icon

ActionSelect type of chart series"Freeze" chart. Chart will not update automaticallyChart properties editor
Display labels on values of series
Display chart legend
Copy to clipboard

www.fast-report.com

58 / 71

Example of Use
This chapter describes examples of using FastCube.Net.
The examples can be seen in the demo program 'Advanced'.

www.fast-report.com

59 / 71

Example "Demography"
Let's show an example of using a multi-dimensional table holding demographic data for a number ofcountries. The source data was taken from the free service of the U.S. Census Bureau.
After some insignificant processing the data was loaded in the cube, so allowing the data to be displayed ina convenient way.
After loading the data into FastCube, start with the empty grid below (see 'Advanced' demo, 'Life Examples','Demography'):

Clicking on the "Field list" element, show this drop-down list:

What can be done with this data? Let's create several examples.
If you have not been able to reproduce these examples, you can open the ready-made examples from theAdvanced demo, "Life Examples", "Demography".

www.fast-report.com

60 / 71

Example 1: Population by country
Drag the "Country" field to the row region and the "People" field to the data region, then move themeasures field that is already located in the filters region into the columns region:

These steps give the grid below:

It is easy to see that the data in the grid is incorrect. The reason for this is that here the "People" measuresums the values for all years. So we need to specify the required year. To do this, we must drag the "Year"
field into the filters region.
When a field is added to the filters region of the grid, an element appears to enable data filtering through adrop-down list.
Let's click on the drop-down list of the "Year" field:

www.fast-report.com

61 / 71

As shown, the grid contains data for 11 years. But we only need the data for 2006 - this can be achieved inseveral ways:
1. by un-checking every year not needed, one by one (i.e. from 1996 to 2005)
2. by un-checking just 2006 and then clicking the "Inverse" button
3. by clicking the "Clear all" button and then clicking on 2006
4. by clicking on 2006 while holding down the 'Ctrl' key on the keyboard
After these changes to the "Year" dimension the grid looks like this:Note that the title 'Year' is displayed in italic and the drop-down icon shows a funnel, which means that afilter is applied to it.
Also note that the values of the "Country" dimension are listed in the alphabetical order/. For our analysis it
would be more useful to list the countries in descending order of population. To do this, we need to sort thedata by the value of the measure.
Click on any data cell in the grid, in the column which will be used for sorting the data, and select theoption "Sort by focused column" in the toolbar:

www.fast-report.com

62 / 71

This results in the grid displaying the data sorted by the value of the "People" measure (population), but inascending order. Note that the column used for the sort is marked with a special symbol (diamond):

To change the sort order to descending, double-click on the "Country" dimension (or do the same on thedrop-down dimension menu).
Adding Percentage and Rank columns to the measure values, shows that China takes the first place by
population (20% of the total population) and the United States only takes third place (4% of the total
population).

www.fast-report.com

63 / 71www.fast-report.com

64 / 71

Example 2: The dynamics of population growthThis example is based on the grid created above.
To achieve our objective we need to move the "Year" dimension from the filters region to the columns
region, before the measures field, and add the values '1996' and '2001' to the years filter. As a result, thegrid will show the population size in 5-year intervals between 1996 and 2006. Further, we can filter thecountry dimension to show just six countries: China, France, Germany, Russia, United Kingdom and theUSA:

Now the first column shows the sum of the other columns and does not make any sense in this context, so
we can hide the column. This is done through the context menu for the People item - 'Grand total - Hide':

The final grid looks like this:www.fast-report.com

65 / 71However, even with this type of cross-tabulation it is difficult to quickly assess the demographic situation incountries. More visual tools in this case would be a diagram:and grid data highlighting tools:

www.fast-report.com

66 / 71Both tools provide a quick answer to the question of which countries are experiencing population growth
and which are experiencing a decline. In our example, in all selected countries except Russia, from 1996 to2006 there was a population increase, and in Russia a decline.

www.fast-report.com

67 / 71

Example 3: Population by sex and age
In this example we will try to answer the following questions:
1. children of which gender are born more frequently?
2. does this gender ratio change with age?
To answer these questions we will make the following changes to the grid:
1. drag the "Age_group" field from the Field list into the row region
2. drag the "Year" and "Country" fields into the filters region
3. drag the "Sex" field from the Field list and the measures field to the measure fields region
4. exclude the values of '100+' and '5-9' from the values of the "Age_group" dimension
5. leave only 2006 in the "Year" dimension
6. leave only Russia in the "Country" dimension
These steps produce the following grid:

Just as previously, the raw data is less informative than a chart (though the figures may be important for
printed reports), so let's switch to the chart page:www.fast-report.com

68 / 71

A chart makes it easy to answer our initial questions:
1. more boys are born than girls
2. however, from the age group 40-44 more women survive than men

www.fast-report.com

69 / 71

Minimum system requirements
Minimum system requirements for installing and using FastCube .NET:
Operating system MS Windows 7-10, Windows Server 2012-2019;
CPU: 1 GHz;
RAM: 512 MB;
You also need the installed .NET Framework version 4.7.2 or higher  .

www.fast-report.com

70 / 71

Contacts and technical support
You can always ask questions about using the product by email  , or by using the form on the website  .
We also welcome your suggestions on how to improve our product.

www.fast-report.com

71 / 71