Skip to content

Commit 311bb1c

Browse files
committed
update daanse server tutorials
Signed-off-by: Stefan Bischof <[email protected]>
1 parent 41d656b commit 311bb1c

File tree

91 files changed

+1285
-20
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1285
-20
lines changed
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
---
2+
title: ExpressiveNames
3+
group:
4+
kind: COMPLEX
5+
number: 4
6+
---
7+
# ExpressiveNames Database
8+
9+
Sample catalog demonstrating complex hierarchies and naming patterns
10+
11+
## Test Cube
12+
13+
Cube with multiple dimensions and complex hierarchies
14+
15+
```xml
16+
<roma:PhysicalCube description="Test Cube" name="Cube1" query="/5"/>
17+
18+
```
19+
*<small>Note: This is only a symbolic example. For the exact definition, see the [Definition](#definition) section.</small>*
20+
21+
## Definition
22+
23+
This files represent the complete definition of the catalog.
24+
25+
```xml
26+
<?xml version="1.0" encoding="UTF-8"?>
27+
<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">
28+
<roma:Catalog description="ExpressiveNames Sample Database - EMF Version" name="ExpressiveNames" cubes="/35" dbschemas="/1"/>
29+
<roma:DatabaseSchema name="ExpressiveNames">
30+
<tables xsi:type="roma:PhysicalTable" name="Cube1Fact">
31+
<columns xsi:type="roma:PhysicalColumn" name="D1"/>
32+
<columns xsi:type="roma:PhysicalColumn" name="D2"/>
33+
<columns xsi:type="roma:PhysicalColumn" name="D3"/>
34+
<columns xsi:type="roma:PhysicalColumn" name="M1" type="Integer"/>
35+
</tables>
36+
<tables xsi:type="roma:PhysicalTable" name="D1H1L1Table">
37+
<columns xsi:type="roma:PhysicalColumn" name="D1H1L1"/>
38+
<columns xsi:type="roma:PhysicalColumn" name="D1H1L1_NAME"/>
39+
<columns xsi:type="roma:PhysicalColumn" name="D1H1L1_Ordinal"/>
40+
</tables>
41+
<tables xsi:type="roma:PhysicalTable" name="D2H1L1Table">
42+
<columns xsi:type="roma:PhysicalColumn" name="D2H1L1"/>
43+
<columns xsi:type="roma:PhysicalColumn" name="D2H1L1_NAME"/>
44+
<columns xsi:type="roma:PhysicalColumn" name="D2H1L1_Ordinal"/>
45+
</tables>
46+
<tables xsi:type="roma:PhysicalTable" name="D2H2L2Table">
47+
<columns xsi:type="roma:PhysicalColumn" name="D2H2L2"/>
48+
<columns xsi:type="roma:PhysicalColumn" name="D2H2L2_NAME"/>
49+
<columns xsi:type="roma:PhysicalColumn" name="D2H2L1_NAME"/>
50+
<columns xsi:type="roma:PhysicalColumn" name="D2H2L2_Ordinal"/>
51+
<columns xsi:type="roma:PhysicalColumn" name="D2H2L1_Ordinal"/>
52+
</tables>
53+
<tables xsi:type="roma:PhysicalTable" name="D3H1L1Table">
54+
<columns xsi:type="roma:PhysicalColumn" name="D3H1L1"/>
55+
<columns xsi:type="roma:PhysicalColumn" name="D3H1L1_NAME"/>
56+
<columns xsi:type="roma:PhysicalColumn" name="D3H1L1_Ordinal"/>
57+
</tables>
58+
<tables xsi:type="roma:PhysicalTable" name="D3H2L2Table">
59+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L2"/>
60+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L2_id"/>
61+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L1_id"/>
62+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L2_NAME"/>
63+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L2_Ordinal"/>
64+
</tables>
65+
<tables xsi:type="roma:PhysicalTable" name="D3H2L1Table">
66+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L1"/>
67+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L1_NAME"/>
68+
<columns xsi:type="roma:PhysicalColumn" name="D3H2L1_Ordinal"/>
69+
</tables>
70+
<tables xsi:type="roma:PhysicalTable" name="D3H3L3Table">
71+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L3"/>
72+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L2_id"/>
73+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L3_NAME"/>
74+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L3_Ordinal"/>
75+
</tables>
76+
<tables xsi:type="roma:PhysicalTable" name="D3H3L2Table">
77+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L2"/>
78+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L1_id"/>
79+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L2_NAME"/>
80+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L2_Ordinal"/>
81+
</tables>
82+
<tables xsi:type="roma:PhysicalTable" name="D3H3L1Table">
83+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L1"/>
84+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L1_NAME"/>
85+
<columns xsi:type="roma:PhysicalColumn" name="D3H3L1_Ordinal"/>
86+
</tables>
87+
</roma:DatabaseSchema>
88+
<roma:PhysicalColumn name="D2H2L1"/>
89+
<roma:TableQuery table="/1/@tables.8"/>
90+
<roma:TableQuery table="/1/@tables.1"/>
91+
<roma:TableQuery table="/1/@tables.0"/>
92+
<roma:TableQuery table="/1/@tables.9"/>
93+
<roma:TableQuery table="/1/@tables.7"/>
94+
<roma:TableQuery table="/1/@tables.2"/>
95+
<roma:TableQuery table="/1/@tables.4"/>
96+
<roma:TableQuery table="/1/@tables.3"/>
97+
<roma:TableQuery table="/1/@tables.6"/>
98+
<roma:TableQuery table="/1/@tables.5"/>
99+
<roma:JoinQuery>
100+
<left key="/1/@tables.8/@columns.1" query="/3"/>
101+
<right key="/1/@tables.9/@columns.0" query="/6"/>
102+
</roma:JoinQuery>
103+
<roma:JoinQuery>
104+
<left key="/1/@tables.5/@columns.2" query="/12"/>
105+
<right key="/1/@tables.6/@columns.0" query="/11"/>
106+
</roma:JoinQuery>
107+
<roma:JoinQuery>
108+
<left key="/1/@tables.7/@columns.1" query="/7"/>
109+
<right key="/1/@tables.8/@columns.0" query="/13"/>
110+
</roma:JoinQuery>
111+
<roma:Level description="Level 1 Hierarchy3 Dimension 3" name="D3H3L1" column="/1/@tables.9/@columns.0" nameColumn="/1/@tables.9/@columns.1" ordinalColumn="/1/@tables.9/@columns.2"/>
112+
<roma:Level description="Level 1 Hierarchy1 Dimension 3" name="D3H1L1" column="/1/@tables.4/@columns.0" nameColumn="/1/@tables.4/@columns.1" ordinalColumn="/1/@tables.4/@columns.2"/>
113+
<roma:Level description="Level 2 Dimension 3" name="D2H2L2" column="/1/@tables.3/@columns.0" nameColumn="/1/@tables.3/@columns.1" ordinalColumn="/1/@tables.3/@columns.3"/>
114+
<roma:Level description="Level 2 Hierarchy2 Dimension 3" name="D3H2L2" column="/1/@tables.5/@columns.0" nameColumn="/1/@tables.5/@columns.3" ordinalColumn="/1/@tables.5/@columns.4"/>
115+
<roma:Level description="Level 1 Hierarchy2 Dimension 3" name="D3H2L1" column="/1/@tables.6/@columns.0" nameColumn="/1/@tables.6/@columns.1" ordinalColumn="/1/@tables.6/@columns.2"/>
116+
<roma:Level description="Level 1 Hierarchy 1 Dimension 2" name="D2H1L1" column="/1/@tables.2/@columns.0" nameColumn="/1/@tables.2/@columns.1" ordinalColumn="/1/@tables.2/@columns.2"/>
117+
<roma:Level description="Level 2 Hierarchy 2 Dimension 2" name="D2H2L1" column="/2" nameColumn="/1/@tables.3/@columns.2" ordinalColumn="/1/@tables.3/@columns.4"/>
118+
<roma:Level description="Level 1 Dimension 1 Hierarchy1" name="D1H1L1" column="/1/@tables.1/@columns.0" nameColumn="/1/@tables.1/@columns.1" ordinalColumn="/1/@tables.1/@columns.2"/>
119+
<roma:Level description="Level 3 Hierarchy3 Dimension 3" name="D3H3L3" column="/1/@tables.7/@columns.0" nameColumn="/1/@tables.7/@columns.2" ordinalColumn="/1/@tables.7/@columns.3"/>
120+
<roma:Level description="Level 2 Hierarchy3 Dimension 3" name="D3H3L2" column="/1/@tables.8/@columns.0" nameColumn="/1/@tables.8/@columns.2" ordinalColumn="/1/@tables.8/@columns.3"/>
121+
<roma:ExplicitHierarchy description="Hierarchy 2 Dimension 3" name="D3H2" primaryKey="/1/@tables.5/@columns.0" query="/14" levels="/20 /19"/>
122+
<roma:ExplicitHierarchy description="Hierarchy 1 Dimension 2" name="D2H1" primaryKey="/1/@tables.2/@columns.0" query="/8" levels="/21"/>
123+
<roma:ExplicitHierarchy description="Hierarchy 1 Dimension 3" name="D3H3" primaryKey="/1/@tables.7/@columns.0" query="/15" levels="/16 /25 /24"/>
124+
<roma:ExplicitHierarchy description="Hierarchy 1 Dimension 1" name="D1H1" primaryKey="/1/@tables.1/@columns.0" query="/4" levels="/23"/>
125+
<roma:ExplicitHierarchy description="Hierarchy 2 Dimension 2" name="D2H2" primaryKey="/1/@tables.3/@columns.0" query="/10" levels="/22 /18"/>
126+
<roma:ExplicitHierarchy description="Hierarchy 1 Dimension 3" name="D3H1" primaryKey="/1/@tables.4/@columns.0" query="/9" levels="/17"/>
127+
<roma:StandardDimension description="Hierarchy 1 Dimension 1" name="Dimension1" hierarchies="/29"/>
128+
<roma:StandardDimension name="Dimension3" hierarchies="/31 /26 /28"/>
129+
<roma:StandardDimension name="Dimension2" hierarchies="/27 /30"/>
130+
<roma:PhysicalCube description="Test Cube" name="Cube1" query="/5">
131+
<dimensionConnectors foreignKey="/1/@tables.0/@columns.0" dimension="/32" overrideDimensionName="Dimension1"/>
132+
<dimensionConnectors foreignKey="/1/@tables.0/@columns.1" dimension="/34" overrideDimensionName="Dimension2"/>
133+
<dimensionConnectors foreignKey="/1/@tables.0/@columns.2" dimension="/33" overrideDimensionName="Dimension3"/>
134+
<measureGroups>
135+
<measures xsi:type="roma:SumMeasure" name="Measure1" formatString="Standard" column="/1/@tables.0/@columns.3"/>
136+
</measureGroups>
137+
</roma:PhysicalCube>
138+
</xmi:XMI>
139+
140+
```
141+
142+
143+
144+
## Tutorial Zip
145+
This files contaisn the data-tables as csv and the mapping as xmi file.
146+
147+
<a href="./zip/complex.expressivenames.zip" download>Download Zip File</a>

0 commit comments

Comments
 (0)