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