Daanse Tutorial - Formatter Cell
Data cube with measures CellFormatter.
Database Schema
The cube defined in this example is based on a single table that stores all the data. The table, named Fact
, contains two columns: KEY
and VALUE
. The KEY
column acts as a discriminator, while the VALUE
column holds the measurements to be aggregated.
<roma:DatabaseSchema id="_databaseSchema_cell">
<tables xsi:type="roma:PhysicalTable" id="_table_fact" name="Fact">
<columns xsi:type="roma:PhysicalColumn" id="_column_fact_key" name="KEY"/>
<columns xsi:type="roma:PhysicalColumn" id="_column_fact_value" name="VALUE" type="Integer"/>
</tables>
</roma:DatabaseSchema>
Note: This is only a symbolic example. For the exact definition, see the Definition section.
Query
This example uses a TableQuery, as it directly references the physical table Fact
.
<roma:TableQuery id="_query_fact" table="_table_fact"/>
Note: This is only a symbolic example. For the exact definition, see the Definition section.
CellFormatter
Specialized formatter for controlling the presentation of cell values in analytical grids.
Cell formatter use reference to class formatter mondrian.rolap.format.CellFormatterImpl implemented CellFormatter interface
<roma:CellFormatter id="_cellFormatter" ref="mondrian.rolap.format.CellFormatterImpl"/>
Note: This is only a symbolic example. For the exact definition, see the Definition section.
Measure1
Measure with CellFormatter. measure reference the `VALUE` column and use the following `SUM` aggregation function.
<roma:SumMeasure id="_measure_Measure1" name="Measure1" cellFormatter="_cellFormatter" formatString="Standard" column="_column_fact_value"/>
Note: This is only a symbolic example. For the exact definition, see the Definition section.
Cube with Measures CellFormatter
In this example, measure with CellFormatter. measure reference the VALUE
column and use the following SUM
aggregation function.
<roma:PhysicalCube id="_cube_cellFormatter" name="CubeOneNumericMeasureDifferentDataTypes" query="_query_fact">
<measureGroups>
<measures xsi:type="roma:SumMeasure" id="_measure_Measure1" name="Measure1" cellFormatter="_cellFormatter" formatString="Standard" column="_column_fact_value"/>
</measureGroups>
</roma:PhysicalCube>
Note: This is only a symbolic example. For the exact definition, see the Definition section.
Definition
This files represent the complete definition of the catalog.
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:roma="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping">
<roma:Catalog description="Cell formatter configurations" name="Daanse Tutorial - Formatter Cell" cubes="_cube_cellFormatter" dbschemas="_databaseSchema_cell"/>
<roma:DatabaseSchema id="_databaseSchema_cell">
<tables xsi:type="roma:PhysicalTable" id="_table_fact" name="Fact">
<columns xsi:type="roma:PhysicalColumn" id="_column_fact_key" name="KEY"/>
<columns xsi:type="roma:PhysicalColumn" id="_column_fact_value" name="VALUE" type="Integer"/>
</tables>
</roma:DatabaseSchema>
<roma:TableQuery id="_query_fact" table="_table_fact"/>
<roma:PhysicalCube id="_cube_cellFormatter" name="CubeOneNumericMeasureDifferentDataTypes" query="_query_fact">
<measureGroups>
<measures xsi:type="roma:SumMeasure" id="_measure_Measure1" name="Measure1" cellFormatter="_cellFormatter" formatString="Standard" column="_column_fact_value"/>
</measureGroups>
</roma:PhysicalCube>
<roma:CellFormatter id="_cellFormatter" ref="mondrian.rolap.format.CellFormatterImpl"/>
</xmi:XMI>
Tutorial Zip
This files contaisn the data-tables as csv and the mapping as xmi file.