I'm running Saiku Community Edition 3.0 with a simple schema: 3 shared dimensions and two cubes like this:
<?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>
This works fine. I see both cubes in Saiku and they work as expected. Now I need third, virtual cube that combines metrics from the two above. I've tried many different ways but I've failed to see the virtual cube in saiku. The weird thing is that usually when you upload a schema with wrong syntax you would not see ANY cube from it. But I still see the two cubes defined above but not the third, virtual cube.
I've tried defining it like below, just before closing </Schema>
tag:
<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>
What am I doing wrong that the virtual cube is not visible in Saiku?