Mondrian 共享维

Shared dimensions
When generating the SQL for a join, mondrian needs to know which column to join to. If you are
joining to a join, then you need to tell it which of the tables in the join that column belongs to
(usually it will be the first table in the join).
Because shared dimensions don't belong to a cube, you have to give them an explicit table (or
other data source). When you use them in a particular cube, you specify the foreign key. This
example shows the Store Type dimension being joined to the Sales cube using the
sales_fact_1997.store_id foreign key, and to the Warehouse cube using the
warehouse.warehouse_store_id foreign key:
<Dimension name="Store Type">
<Hierarchy hasAll="true" primaryKey="store_id">
<Table name="store"/>
<Level name="Store Type" column="store_type" uniqueMembers="true"/>
</Hierarchy>
</Dimension>


<Cube name="Sales">
<Table name="sales_fact_1997"/>
...
<DimensionUsage name="Store Type" source="Store Type"
foreignKey="store_id"/>
</Cube>
<Cube name="Warehouse">
<Table name="warehouse"/>
...
<DimensionUsage name="Store Type" source="Store Type"
foreignKey="warehouse_store_id"/>
</Cube>

猜你喜欢

转载自housheng33.iteye.com/blog/1836731