我有一个OLAP多维多维数据集,其最简单的形式包含:
要求是用户希望能够比较从每年年初到特定日期的总NetAmount。可以通过在日期和月份字段中设置过滤器来选择日期。例如,用户希望查看以下商品的总价值:
满足此要求的最佳方法是什么?
答案 0 :(得分:0)
您可以使用YTD函数创建计算所得成员,如下所示:
CREATE MEMBER CURRENTCUBE.[Measures].[NetAmountYTD]
as
Aggregate(YTD ([Time].[Time].CurrentMember), [Measures].[NetAmount])
您还可以创建实用程序维度(例如TimeUtility),并添加YTD成员,然后按以下方式对其进行定义:
Scope([TimeUtility].[YTD]);
this = Aggregate(YTD ([Time].[Time].CurrentMember), [TimeUtility].[DefaultMember]);
End Scope;
通过这种方式,无论您对[TimeUtility]采取什么措施。[YTD]都会为您提供该措施的年初至今,而不仅仅是NetAmount,因此它将是通用的解决方案。