Daanse Tutorial - Member Properties with Geographic Data
This tutorial demonstrates how to use member properties with geographic data stored across multiple tables. Member properties provide additional attributes for hierarchy level members, such as geographic coordinates, descriptions, and location data in GeoJSON format.
The example shows a single-level Location hierarchy where member details are stored in a separate Member table, joined with the fact table for OLAP analysis.
Database Schema
The cube is based on two tables: Fact and Member.
- The
Facttable contains measures (VALUES) and references to theMembertable via MEMBER_ID - The
Membertable holds the member details including:- ID (primary key)
- NAME (member display name)
- LOCATION (GeoJSON representation of the geographic area)
- LATITUDE and LONGITUDE (numeric coordinates)
- DESCRIPTION (additional member information)
This normalized structure allows rich member properties while maintaining efficient fact table storage.
<relational:Schema xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmi:id="_schema">
<ownedElement xsi:type="relational:Table" xmi:id="_table_fact" name="Fact">
<feature xsi:type="relational:Column" xmi:id="_column_fact_member_id" name="MEMBER_ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_fact_value" name="VALUE"/>
</ownedElement>
<ownedElement xsi:type="relational:Table" xmi:id="_table_member" name="Member">
<feature xsi:type="relational:Column" xmi:id="_column_member_id" name="ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_name" name="NAME"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_location" name="LOCATION"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_latitude" name="LATITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_longitude" name="LONGITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_description" name="DESCRIPTION"/>
</ownedElement>
</relational:Schema>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Query - Fact Table
Simple table query referencing the Fact table for measure data.
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmlns:rolapsrc="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/database/source">
<rolapsrc:TableSource xmi:id="_tablesource_fact" table="_table_fact"/>
<relational:Table xmi:id="_table_fact" name="Fact">
<feature xsi:type="relational:Column" xmi:id="_column_fact_member_id" name="MEMBER_ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_fact_value" name="VALUE"/>
</relational:Table>
</xmi:XMI>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Query - Member Table
Simple table query referencing the Member table for location data and properties.
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmlns:rolapsrc="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/database/source">
<rolapsrc:TableSource xmi:id="_tablesource_member" table="_table_member"/>
<relational:Table xmi:id="_table_member" name="Member">
<feature xsi:type="relational:Column" xmi:id="_column_member_id" name="ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_name" name="NAME"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_location" name="LOCATION"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_latitude" name="LATITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_longitude" name="LONGITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_description" name="DESCRIPTION"/>
</relational:Table>
</xmi:XMI>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Query - Join Fact to Member
The join query connects the Fact table to the Member table using:
- Fact.MEMBER_ID (foreign key) joined to Member.ID (primary key)
This allows the hierarchy to access member properties while the cube measures reference the fact data.
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmlns:rolapsrc="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/database/source">
<rolapsrc:JoinSource xmi:id="_joinsource">
<left xmi:id="_joinedqueryelement_member_id" key="_column_fact_member_id" source="_tablesource_fact"/>
<right xmi:id="_joinedqueryelement_id" key="_column_member_id" source="_tablesource_member"/>
</rolapsrc:JoinSource>
<relational:Table xmi:id="_table_member" name="Member">
<feature xsi:type="relational:Column" xmi:id="_column_member_id" name="ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_name" name="NAME"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_location" name="LOCATION"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_latitude" name="LATITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_longitude" name="LONGITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_description" name="DESCRIPTION"/>
</relational:Table>
<relational:Table xmi:id="_table_fact" name="Fact">
<feature xsi:type="relational:Column" xmi:id="_column_fact_member_id" name="MEMBER_ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_fact_value" name="VALUE"/>
</relational:Table>
<rolapsrc:TableSource xmi:id="_tablesource_member" table="_table_member"/>
<rolapsrc:TableSource xmi:id="_tablesource_fact" table="_table_fact"/>
</xmi:XMI>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Member Property - Location (GeoJSON)
The Location member property stores geographic boundary data in GeoJSON format. This allows complex geographic shapes to be associated with each member for mapping and spatial analysis.
<rolaplev:MemberProperty xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmi:id="_memberproperty_location" name="Location" propertyType="String">
<column href="_column_member_location"/>
</rolaplev:MemberProperty>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Member Property - Latitude
The Latitude member property stores the decimal latitude coordinate as a numeric value for precise positioning.
<rolaplev:MemberProperty xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmi:id="_memberproperty_latitude" name="Latitude" propertyType="Numeric">
<column href="_column_member_latitude"/>
</rolaplev:MemberProperty>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Member Property - Longitude
The Longitude member property stores the decimal longitude coordinate as a numeric value for precise positioning.
<rolaplev:MemberProperty xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmi:id="_memberproperty_longitude" name="Longitude" propertyType="Numeric">
<column href="_column_member_longitude"/>
</rolaplev:MemberProperty>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Member Property - Description
The Description member property provides additional contextual information about each location member.
<rolaplev:MemberProperty xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmi:id="_memberproperty_description" name="Description" propertyType="String">
<column href="_column_member_description"/>
</rolaplev:MemberProperty>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Level with Member Properties
The Location level uses the Member table's ID as the primary key and NAME as the display name. Multiple member properties are attached to provide rich geographic information for each location.
<rolaplev:Level xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmi:id="_level_location" name="Location">
<column href="_column_member_id"/>
<nameColumn href="_column_member_name"/>
</rolaplev:Level>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Hierarchy with Join Query
This single-level hierarchy demonstrates how member properties work with joined tables. The query joins the Member table to access both the level data and the member properties.
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmlns:rolaphier="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmlns:rolapsrc="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/database/source">
<rolaphier:ExplicitHierarchy xmi:id="_explicithierarchy_locationhierarchy" name="LocationHierarchy" primaryKey="_column_member_id" source="_joinsource" levels="_level_location"/>
<rolapsrc:JoinSource xmi:id="_joinsource">
<left xmi:id="_joinedqueryelement_member_id" key="_column_fact_member_id" source="_tablesource_fact"/>
<right xmi:id="_joinedqueryelement_id" key="_column_member_id" source="_tablesource_member"/>
</rolapsrc:JoinSource>
<rolaplev:Level xmi:id="_level_location" name="Location" column="_column_member_id" nameColumn="_column_member_name">
<memberProperties xmi:id="_memberproperty_location" name="Location" column="_column_member_location" propertyType="String"/>
<memberProperties xmi:id="_memberproperty_latitude" name="Latitude" column="_column_member_latitude" propertyType="Numeric"/>
<memberProperties xmi:id="_memberproperty_longitude" name="Longitude" column="_column_member_longitude" propertyType="Numeric"/>
<memberProperties xmi:id="_memberproperty_description" name="Description" column="_column_member_description" propertyType="String"/>
</rolaplev:Level>
<relational:Table xmi:id="_table_member" name="Member">
<feature xsi:type="relational:Column" xmi:id="_column_member_id" name="ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_name" name="NAME"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_location" name="LOCATION"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_latitude" name="LATITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_longitude" name="LONGITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_description" name="DESCRIPTION"/>
</relational:Table>
<relational:Table xmi:id="_table_fact" name="Fact">
<feature xsi:type="relational:Column" xmi:id="_column_fact_member_id" name="MEMBER_ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_fact_value" name="VALUE"/>
</relational:Table>
<rolapsrc:TableSource xmi:id="_tablesource_member" table="_table_member"/>
<rolapsrc:TableSource xmi:id="_tablesource_fact" table="_table_fact"/>
</xmi:XMI>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Dimension
The Location dimension contains one hierarchy with geographic member properties.
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmlns:rolapdim="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension" xmlns:rolaphier="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmlns:rolapsrc="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/database/source">
<rolapdim:StandardDimension xmi:id="_standarddimension_location" name="Location" hierarchies="_explicithierarchy_locationhierarchy"/>
<rolaphier:ExplicitHierarchy xmi:id="_explicithierarchy_locationhierarchy" name="LocationHierarchy" primaryKey="_column_member_id" source="_joinsource" levels="_level_location"/>
<rolapsrc:JoinSource xmi:id="_joinsource">
<left xmi:id="_joinedqueryelement_member_id" key="_column_fact_member_id" source="_tablesource_fact"/>
<right xmi:id="_joinedqueryelement_id" key="_column_member_id" source="_tablesource_member"/>
</rolapsrc:JoinSource>
<rolaplev:Level xmi:id="_level_location" name="Location" column="_column_member_id" nameColumn="_column_member_name">
<memberProperties xmi:id="_memberproperty_location" name="Location" column="_column_member_location" propertyType="String"/>
<memberProperties xmi:id="_memberproperty_latitude" name="Latitude" column="_column_member_latitude" propertyType="Numeric"/>
<memberProperties xmi:id="_memberproperty_longitude" name="Longitude" column="_column_member_longitude" propertyType="Numeric"/>
<memberProperties xmi:id="_memberproperty_description" name="Description" column="_column_member_description" propertyType="String"/>
</rolaplev:Level>
<relational:Table xmi:id="_table_member" name="Member">
<feature xsi:type="relational:Column" xmi:id="_column_member_id" name="ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_name" name="NAME"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_location" name="LOCATION"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_latitude" name="LATITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_longitude" name="LONGITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_description" name="DESCRIPTION"/>
</relational:Table>
<relational:Table xmi:id="_table_fact" name="Fact">
<feature xsi:type="relational:Column" xmi:id="_column_fact_member_id" name="MEMBER_ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_fact_value" name="VALUE"/>
</relational:Table>
<rolapsrc:TableSource xmi:id="_tablesource_member" table="_table_member"/>
<rolapsrc:TableSource xmi:id="_tablesource_fact" table="_table_fact"/>
</xmi:XMI>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Cube with Geographic Analysis
The cube connects the Fact table (containing measures) with the Member table (containing member properties) via a join query. The DimensionConnector uses MEMBER_ID as the foreign key to link facts to location members.
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmlns:rolapcube="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/cube" xmlns:rolapdim="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension" xmlns:rolaphier="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmlns:rolapmeas="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/cube/measure" xmlns:rolapsrc="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/database/source">
<rolapcube:PhysicalCube xmi:id="_physicalcube_geographic_analysis" name="Geographic Analysis" source="_tablesource_fact">
<dimensionConnectors xmi:id="_dimensionconnector_location" foreignKey="_column_fact_member_id" dimension="_standarddimension_location"/>
<measureGroups xmi:id="_measuregroup">
<measures xsi:type="rolapmeas:SumMeasure" xmi:id="_summeasure_totalvalue" name="TotalValue" column="_column_fact_value"/>
</measureGroups>
</rolapcube:PhysicalCube>
<rolaplev:Level xmi:id="_level_location" name="Location">
<memberProperties xmi:id="_memberproperty_location" name="Location" propertyType="String">
<column href="_column_member_location"/>
</memberProperties>
<memberProperties xmi:id="_memberproperty_latitude" name="Latitude" propertyType="Numeric">
<column href="_column_member_latitude"/>
</memberProperties>
<memberProperties xmi:id="_memberproperty_longitude" name="Longitude" propertyType="Numeric">
<column href="_column_member_longitude"/>
</memberProperties>
<memberProperties xmi:id="_memberproperty_description" name="Description" propertyType="String">
<column href="_column_member_description"/>
</memberProperties>
<column href="_column_member_id"/>
<nameColumn href="_column_member_name"/>
</rolaplev:Level>
<relational:Table xmi:id="_table_member" name="Member">
<feature xsi:type="relational:Column" xmi:id="_column_member_id" name="ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_name" name="NAME"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_location" name="LOCATION"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_latitude" name="LATITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_longitude" name="LONGITUDE"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_description" name="DESCRIPTION"/>
</relational:Table>
<rolaphier:ExplicitHierarchy xmi:id="_explicithierarchy_locationhierarchy" name="LocationHierarchy" source="_joinsource" levels="_level_location">
<primaryKey href="_column_member_id"/>
</rolaphier:ExplicitHierarchy>
<rolapsrc:JoinSource xmi:id="_joinsource">
<left xmi:id="_joinedqueryelement_member_id" key="_column_fact_member_id" source="_tablesource_fact"/>
<right xmi:id="_joinedqueryelement_id" key="_column_member_id" source="_tablesource_member"/>
</rolapsrc:JoinSource>
<rolapdim:StandardDimension xmi:id="_standarddimension_location" name="Location" hierarchies="_explicithierarchy_locationhierarchy"/>
<relational:Table xmi:id="_table_fact" name="Fact">
<feature xsi:type="relational:Column" xmi:id="_column_fact_member_id" name="MEMBER_ID"/>
<feature xsi:type="relational:Column" xmi:id="_column_fact_value" name="VALUE"/>
</relational:Table>
<rolapsrc:TableSource xmi:id="_tablesource_fact" table="_table_fact"/>
<rolapsrc:TableSource xmi:id="_tablesource_member" table="_table_member"/>
</xmi:XMI>Note: This is only a symbolic example. For the exact definition, see the Definition section.
Definition
This file represents 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:relational="http://www.omg.org/spec/CWM/1.1/resource/relational" xmlns:rolapcat="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/catalog" xmlns:rolapcube="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/cube" xmlns:rolapdim="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension" xmlns:rolaphier="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy" xmlns:rolaplev="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/dimension/hierarchy/level" xmlns:rolapmeas="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/olap/cube/measure" xmlns:rolapsrc="https://www.daanse.org/spec/org.eclipse.daanse.rolap.mapping/database/source">
<relational:SQLSimpleType xmi:id="_sqlsimpletype_character_varying" name="CHARACTER VARYING" structuralFeature="_column_member_name _column_member_description _column_member_location" typeNumber="12"/>
<relational:SQLSimpleType xmi:id="_sqlsimpletype_decimal" name="DECIMAL" structuralFeature="_column_fact_value _column_member_latitude _column_member_longitude" typeNumber="3" numericPrecision="18" numericPrecisionRadix="10" numericScale="4"/>
<relational:SQLSimpleType xmi:id="_sqlsimpletype_integer" name="INTEGER" structuralFeature="_column_member_id _column_fact_member_id" typeNumber="4"/>
<rolapcat:Catalog xmi:id="_catalog_member_properties_with_geographic_data" description="Tutorial showing member properties with location data across multiple tables" name="Daanse Tutorial - Member Properties with Geographic Data" cubes="_physicalcube_geographic_analysis" dbschemas="_schema"/>
<relational:Schema xmi:id="_schema">
<ownedElement xsi:type="relational:Table" xmi:id="_table_fact" name="Fact">
<feature xsi:type="relational:Column" xmi:id="_column_fact_member_id" name="MEMBER_ID" type="_sqlsimpletype_integer"/>
<feature xsi:type="relational:Column" xmi:id="_column_fact_value" name="VALUE" type="_sqlsimpletype_decimal"/>
</ownedElement>
<ownedElement xsi:type="relational:Table" xmi:id="_table_member" name="Member">
<feature xsi:type="relational:Column" xmi:id="_column_member_id" name="ID" type="_sqlsimpletype_integer"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_name" name="NAME" type="_sqlsimpletype_character_varying"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_location" name="LOCATION" type="_sqlsimpletype_character_varying"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_latitude" name="LATITUDE" type="_sqlsimpletype_decimal"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_longitude" name="LONGITUDE" type="_sqlsimpletype_decimal"/>
<feature xsi:type="relational:Column" xmi:id="_column_member_description" name="DESCRIPTION" type="_sqlsimpletype_character_varying"/>
</ownedElement>
</relational:Schema>
<rolapsrc:TableSource xmi:id="_tablesource_fact" table="_table_fact"/>
<rolapsrc:TableSource xmi:id="_tablesource_member" table="_table_member"/>
<rolapsrc:JoinSource xmi:id="_joinsource">
<left xmi:id="_joinedqueryelement_member_id" key="_column_fact_member_id" source="_tablesource_fact"/>
<right xmi:id="_joinedqueryelement_id" key="_column_member_id" source="_tablesource_member"/>
</rolapsrc:JoinSource>
<rolaplev:Level xmi:id="_level_location" name="Location" column="_column_member_id" nameColumn="_column_member_name">
<memberProperties xmi:id="_memberproperty_location" name="Location" column="_column_member_location" propertyType="String"/>
<memberProperties xmi:id="_memberproperty_latitude" name="Latitude" column="_column_member_latitude" propertyType="Numeric"/>
<memberProperties xmi:id="_memberproperty_longitude" name="Longitude" column="_column_member_longitude" propertyType="Numeric"/>
<memberProperties xmi:id="_memberproperty_description" name="Description" column="_column_member_description" propertyType="String"/>
</rolaplev:Level>
<rolaphier:ExplicitHierarchy xmi:id="_explicithierarchy_locationhierarchy" name="LocationHierarchy" primaryKey="_column_member_id" source="_joinsource" levels="_level_location"/>
<rolapdim:StandardDimension xmi:id="_standarddimension_location" name="Location" hierarchies="_explicithierarchy_locationhierarchy"/>
<rolapcube:PhysicalCube xmi:id="_physicalcube_geographic_analysis" name="Geographic Analysis" source="_tablesource_fact">
<dimensionConnectors xmi:id="_dimensionconnector_location" foreignKey="_column_fact_member_id" dimension="_standarddimension_location"/>
<measureGroups xmi:id="_measuregroup">
<measures xsi:type="rolapmeas:SumMeasure" xmi:id="_summeasure_totalvalue" name="TotalValue" column="_column_fact_value"/>
</measureGroups>
</rolapcube:PhysicalCube>
</xmi:XMI>Tutorial Zip
This file contains the data-tables as csv and the mapping as xmi file.