Difference between revisions of "Tutorial/OLAP example"
Jump to navigation
Jump to search
old>Admin |
m (20 revisions imported) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 24: | Line 24: | ||
=== Basic information === | === Basic information === | ||
* Name | * Name display: sample1 | ||
* Cube header: Report sample1 | * Cube header: Report sample1 | ||
Line 32: | Line 32: | ||
* http://mondrian.pentaho.com/documentation/schema.php | * http://mondrian.pentaho.com/documentation/schema.php | ||
<syntaxhighlight lang="xml"> | |||
<Cube name="sample1cube"> | |||
<Table name="data_changemanagement"/> | |||
<Dimension name="Scope" foreignKey="TASKTYPE"> | |||
<Hierarchy hasAll="true" primaryKey="LookupID"> | |||
<Table name="formfieldlookup"/> | |||
<Level name="Type" column="Value" uniqueMembers="true"/> | |||
</Hierarchy> | |||
</Dimension> | |||
<Dimension name="Type" foreignKey="TYPE"> | |||
<Hierarchy hasAll="true" primaryKey="LookupID"> | |||
<Table name="formfieldlookup"/> | |||
<Level name="Type" column="Value" uniqueMembers="true"/> | |||
</Hierarchy> | |||
</Dimension> | |||
<Dimension name="Status" foreignKey="StatusID"> | |||
<Hierarchy hasAll="true" primaryKey="StatusID"> | |||
<Table name="formstatus"/> | |||
<Level name="Type" column="Status" uniqueMembers="true"/> | |||
</Hierarchy> | |||
</Dimension> | |||
<Dimension name="Period" type="TimeDimension"> | |||
<Hierarchy name="Periode" hasAll="true" allMemberName="All period"> | |||
<Table name="data_changemanagement"/> | |||
<Level name="Aar" levelType="TimeYears" uniqueMembers="true"> | |||
<KeyExpression> | |||
<SQL dialect="mysql">Year(CreatedAt)</SQL> | |||
<SQL dialect="generic">YEAR</SQL> | |||
</KeyExpression> | |||
</Level> | |||
<Level name="Kvartal" uniqueMembers="false" levelType="TimeQuarters"> | |||
<KeyExpression> | |||
<SQL dialect="mysql">Quarter(CreatedAt)</SQL> | |||
<SQL dialect="generic">Quarter</SQL> | |||
</KeyExpression> | |||
</Level> | |||
<Level name="Maaned" uniqueMembers="false" levelType="TimeMonths"> | |||
<KeyExpression> | |||
<SQL dialect="mysql">Month(CreatedAt)</SQL> | |||
<SQL dialect="generic">Month</SQL> | |||
</KeyExpression> | |||
</Level> | |||
</Hierarchy> | |||
</Dimension> | |||
<Measure name="Revision" column="Revision" aggregator="sum" formatString="Standard"/> | |||
<Measure name="Estimate" column="ESTIMATTIMER" aggregator="sum" formatString="Standard"/> | |||
<Measure name="Realized" column="REALISERETTIMER" aggregator="sum" formatString="Standard"/> | |||
</Cube> | |||
</syntaxhighlight> | |||
=== MDX query ("Cube Query MDX") === | === MDX query ("Cube Query MDX") === | ||
Line 85: | Line 87: | ||
* http://technet.microsoft.com/en-us/library/ms145971.aspx | * http://technet.microsoft.com/en-us/library/ms145971.aspx | ||
<syntaxhighlight lang="mysql"> | |||
SELECT | |||
NON EMPTY {([Measures].[Estimate],[Measures].[Realized])} ON COLUMNS, | |||
NON EMPTY {([Period],[Type],[Status])} ON ROWS | |||
FROM [sample1cube] | |||
</syntaxhighlight> | |||
== Results == | == Results == |
Latest revision as of 11:55, 10 December 2021
Example
We have a solution
- Change management [changemanagement]
The solution contains the following lookup fields
- Scope [TYPE]
- Type [TASKTYPE]
It also has some decimal values
- Estimate [ESTIMATE]
- Realized [REALIZED]
In our reporting we want to see distributions by
- A period hierachy: Year / Quarter / Month
- Categorieres by Scope, Type and Status
Setting up the cube
A new OLAP cube is set up in: "Integration" > "OLAP cubes" > "Add"
Basic information
- Name display: sample1
- Cube header: Report sample1
Cube definition ("Cube Schema XML")
For further help to designing schemas please refer to the following ressources
<Cube name="sample1cube">
<Table name="data_changemanagement"/>
<Dimension name="Scope" foreignKey="TASKTYPE">
<Hierarchy hasAll="true" primaryKey="LookupID">
<Table name="formfieldlookup"/>
<Level name="Type" column="Value" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Type" foreignKey="TYPE">
<Hierarchy hasAll="true" primaryKey="LookupID">
<Table name="formfieldlookup"/>
<Level name="Type" column="Value" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Status" foreignKey="StatusID">
<Hierarchy hasAll="true" primaryKey="StatusID">
<Table name="formstatus"/>
<Level name="Type" column="Status" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Dimension name="Period" type="TimeDimension">
<Hierarchy name="Periode" hasAll="true" allMemberName="All period">
<Table name="data_changemanagement"/>
<Level name="Aar" levelType="TimeYears" uniqueMembers="true">
<KeyExpression>
<SQL dialect="mysql">Year(CreatedAt)</SQL>
<SQL dialect="generic">YEAR</SQL>
</KeyExpression>
</Level>
<Level name="Kvartal" uniqueMembers="false" levelType="TimeQuarters">
<KeyExpression>
<SQL dialect="mysql">Quarter(CreatedAt)</SQL>
<SQL dialect="generic">Quarter</SQL>
</KeyExpression>
</Level>
<Level name="Maaned" uniqueMembers="false" levelType="TimeMonths">
<KeyExpression>
<SQL dialect="mysql">Month(CreatedAt)</SQL>
<SQL dialect="generic">Month</SQL>
</KeyExpression>
</Level>
</Hierarchy>
</Dimension>
<Measure name="Revision" column="Revision" aggregator="sum" formatString="Standard"/>
<Measure name="Estimate" column="ESTIMATTIMER" aggregator="sum" formatString="Standard"/>
<Measure name="Realized" column="REALISERETTIMER" aggregator="sum" formatString="Standard"/>
</Cube>
MDX query ("Cube Query MDX")
For further help to designing queries please refer to the following ressources
SELECT
NON EMPTY {([Measures].[Estimate],[Measures].[Realized])} ON COLUMNS,
NON EMPTY {([Period],[Type],[Status])} ON ROWS
FROM [sample1cube]
Results
The cube is acccesed via this URL (or press "test" form the OLAP overview) http://YOUR_DOMAIN/TempusServa/olapview.jsp?query=sample1