我正在使用简单的模式运行 Saiku Community Edition 3.0:3 个共享维度和两个像这样的多维数据集:
<?xml version="1.0"?>
<Schema name="Schema1" metamodelVersion='4.0'>
<PhysicalSchema>
<Table name='dim_date' />
<Table name='dim_time2' />
<Table name='dim_user' />
<Table name='fact_action' />
<Table name='fact_feedback' />
</PhysicalSchema>
<Dimension name='Date' table='dim_date' key='Date Id' type='TIME'>...</Dimension>
<Dimension name='Time' table='dim_time2' key='Time Id' type='TIME'>...</Dimension>
<Dimension name='User' table='dim_user' key='User Id'>...</Dimension>
<Cube name='Actions'>
<Dimensions>
<Dimension source='Date' />
<Dimension source='Time' />
<Dimension source='User' name='User1' />
<Dimension source='User' name='User2' />
<Dimension source='Comment' />
</Dimensions>
<CalculatedMembers>
<CalculatedMember name='Action count' dimension='Measures' formula='Measures.[Type1 action count] + Measures.[Type2 action count] + Measures.[Type3 action count]' aggregator='sum'>
<CalculatedMemberProperty name='FORMAT_STRING' value='#,###'/>
<CalculatedMemberProperty name='DATATYPE' value='Integer' />
</CalculatedMember>
</CalculatedMembers>
<MeasureGroups>
<MeasureGroup name='Actions' table='fact_action'>
<Measures>
<Measure name='Type1 action count' column='action_type1' aggregator='sum' formatString='#,###' />
<Measure name='Type2 action count' column='action_type2' aggregator='sum' formatString='#,###' />
<Measure name='Type3 action count' column='action_type3' aggregator='sum' formatString='#,###' />
</Measures>
<DimensionLinks>
<ForeignKeyLink dimension='Date' foreignKeyColumn='date_tk' />
<ForeignKeyLink dimension='Time' foreignKeyColumn='time2_tk' />
<ForeignKeyLink dimension='User1' foreignKeyColumn='user1_tk' />
<ForeignKeyLink dimension='User2' foreignKeyColumn='user2_tk' />
</DimensionLinks>
</MeasureGroup>
</MeasureGroups>
</Cube>
<Cube name='Feedback'>
<Dimensions>
<Dimension source='Date' />
<Dimension source='Time' />
<Dimension source='User' name='User1' />
<Dimension source='User' name='User2' />
</Dimensions>
<CalculatedMembers>
<CalculatedMember name='Feedback count' dimension='Measures' formula='Measures.[Type1 feedback count] + Measures.[Type2 feedback count] + Measures.[Type3 feedback count] + Measures.[Type4 feedback count]' aggregator='sum'>
<CalculatedMemberProperty name='FORMAT_STRING' value='#,###'/>
<CalculatedMemberProperty name='DATATYPE' value='Integer' />
</CalculatedMember>
</CalculatedMembers>
<MeasureGroups>
<MeasureGroup name='Feedback' table='fact_feedback'>
<Measures>
<Measure name='Type1 feedback count' column='type1_count' aggregator='sum' formatString='#,###' />
<Measure name='Type2 feedback count' column='type2_count' aggregator='sum' formatString='#,###' />
<Measure name='Type3 feedback count' column='type3_count' aggregator='sum' formatString='#,###' />
<Measure name='Type4 feedback count' column='type4_count' aggregator='sum' formatString='#,###' />
</Measures>
<DimensionLinks>
<ForeignKeyLink dimension='Date' foreignKeyColumn='date_tk' />
<ForeignKeyLink dimension='Time' foreignKeyColumn='time2_tk' />
<ForeignKeyLink dimension='User1' foreignKeyColumn='user1_tk' />
<ForeignKeyLink dimension='User2' foreignKeyColumn='user2_tk' />
</DimensionLinks>
</MeasureGroup>
</MeasureGroups>
</Cube>
</Schema>
这工作正常。我在 Saiku 中看到了两个立方体,它们按预期工作。现在我需要第三个虚拟多维数据集,它结合了上述两个指标。我尝试了许多不同的方法,但我没能在 saiku 中看到虚拟立方体。奇怪的是,通常当您上传语法错误的模式时,您不会从中看到任何多维数据集。但我仍然看到上面定义的两个立方体,但没有看到第三个虚拟立方体。
我试过在结束</Schema>
标签之前定义它,如下所示:
<VirtualCube name="Performance" enabled="true">
<CubeUsages>
<CubeUsage cubeName="Actions" />
<CubeUsage cubeName="Feedback" />
</CubeUsages>
<VirtualCubeDimension name="Date" />
<VirtualCubeMeasure cubeName="Feedback" name="[Measures].[Type1 feedback count]" visible="true" />
<VirtualCubeMeasure cubeName="Actions" name="[Measures].[Type1 action count]" visible="true" />
<CalculatedMember name="Feedback per Actions" formula="[Measures].[Type1 feedback count] / [Measures].[Type1 action count]" dimension="Measures">
</CalculatedMember>
</VirtualCube>
虚拟立方体在 Saiku 中不可见,我做错了什么?