我需要在mondrian目录定义中定义CumulativeSales度量。到目前为止,我有这个:
<CalculatedMember name="CumulativeSales" dimension="Measures" >
<Formula>IIF([Month.Year].CurrentMember.Level.Name = 'Month', Sum([Month.Year].CurrentMember.FirstSibling:[Month.Year].CurrentMember,[Measures].[Sales]), Sum([Month.Year].CurrentMember.Children, [Measures].[Sales]))</Formula>
<CalculatedMemberProperty name="FORMAT_STRING" value="$ #,##0.00;$ #,##0.00;#"/>
</CalculatedMember>
MDX摘录如下:
IIF
(
[Month.Year].CurrentMember.Level.Name = 'Month'
,Sum
(
[Month.Year].CurrentMember.FirstSibling : [Month.Year].CurrentMember
,[Measures].[Sales]
)
,Sum
(
[Month.Year].CurrentMember.Children
,[Measures].[Sales]
)
)
但有时它并不能很好地发挥作用,特别是在没有销售的情况下显示几个月的累计销售量。例如,在此查询中:
SELECT
{[Measures].[CumulativeSales]} ON COLUMNS
,{[Department].[All]} ON ROWS
FROM [Production]
WHERE
CrossJoin
(
{
[Activity].[Services].[DP]
,[Activity].[Services].[Consulting]
}
,{[Month.Year].[2015].[03]}
);
结果如下:
Measures
Department CumulativeSales
All
CumulativeSales没有显示任何值。 2015年3月仍然没有销售,但它应该显示1月+ 2月的销售额。 在此先感谢您的帮助