维度-共享维度
当一个维度(维表)被多个立方体使用时,可以把它定义为共享维度(shared dimensions),在立方体内引用这个维度即可。因为一个共享维度不属于一个立方体,你必须给它一个明确的表(或其他数据源)。当你在某个立方体中使用它时,指定维度的外键。
下面的例子中,定义了共享维度Store Type,它被Sales 和Warehouse 两个立方体使用。维度Store Type 通过sales_fact_1997.store_id 外键连接到Sales 立方体,通过warehouse.warehouse_store_id 外键连接到Warehouse 立方体:
<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>
使用共享维度注意事项: