我終於明白了這一點,我希望它可以幫助別人。即使XML格式良好,甚至可以在架構設計器(Pentaho)中打開,Mondrian也不會採取任何超出最初度量值列表的措施。例如:
<Measure name="Cnt - A" column="r_a" aggregator="count" visible="true"></Measure>
<Measure name="Cnt - B" column="r_b" aggregator="count" visible="true"></Measure>
<CalculatedMember name="Sum - A_Rolling_12" dimension="Measures" hierarchy="[A]">
<Formula>sum(parallelperiod([Business date.Time Hierarchy].[Year],1,[Business date.Time Hierarchy].CurrentMember):[Business date.Time Hierarchy].CurrentMember,[Measures].[Sum - A])</Formula>
</CalculatedMember>
<CalculatedMember name="Sum - B_Rolling_12" dimension="Measures" hierarchy="[B]">
<Formula>sum(parallelperiod([Business date.Time Hierarchy].[Year],1,[Business date.Time Hierarchy].CurrentMember):[Business date.Time Hierarchy].CurrentMember,[Measures].[Sum - B])</Formula>
</CalculatedMember>
工作正常,但是這不,在下列情況下,B不顯示爲一個計算成員:
<Measure name="Cnt - A" column="r_a" aggregator="count" visible="true"></Measure>
<CalculatedMember name="Sum - A_Rolling_12" dimension="Measures" hierarchy="[A]">
<Formula>sum(parallelperiod([Business date.Time Hierarchy].[Year],1,[Business date.Time Hierarchy].CurrentMember):[Business date.Time Hierarchy].CurrentMember,[Measures].[Sum - A])</Formula>
</CalculatedMember>
<Measure name="Cnt - B" column="r_b" aggregator="count" visible="true"></Measure>
<CalculatedMember name="Sum - B_Rolling_12" dimension="Measures" hierarchy="[B]">
<Formula>sum(parallelperiod([Business date.Time Hierarchy].[Year],1,[Business date.Time Hierarchy].CurrentMember):[Business date.Time Hierarchy].CurrentMember,[Measures].[Sum - B])</Formula>
</CalculatedMember>
這對我來說,似乎是在蒙德里安的語法分析器中的錯誤,在我看來,像這樣的分組措施非常合乎邏輯,甚至可以根據他們的模式進行驗證,但它不起作用。希望這可以爲一些人節省一些挫折。