我在Visio Studio 2010多维数据集项目中通过"New Calculated Member"
创建了一个计算度量
表达式如下:
[Measures].[Extended Price],
PARALLELPERIOD([Dim Calendar].[RetailCalendar].[Retail Year], 1,[Dim Calendar].[RetailCalendar].currentmember)
这使用Dim Calendar层次结构RetailCalendar:
Retail Year,
Retail Quarter,
Retail Month,
Retail Week,
Retail Day
在Excel 2010数据透视表中使用此度量值LY时,只要选择了日期层次结构中的一个成员,它就可以正常工作。
eg. Retail Year 2016 only
eg. Retail Week 2016 24 only.
如何编写此计算以便允许选择多个日期?
在寻找解决方案后,我得到了:
aggregate
(
Generate(
existing [Dim Calendar].[RetailCalendar].[PK Date].members,
(PARALLELPERIOD(
[Dim Calendar].[RetailCalendar].[Retail Year], 1,[Dim Calendar].[RetailCalendar].currentmember
)
)
,[Measures].[Extended Price])
)
会产生null
答案 0 :(得分:0)
我知道这篇文章已经很老了,希望你现在找到了答案!我遇到了完全相同的问题,我想我会发布我的解决方案以帮助其他人搜索。
第一步 - 您需要在多维数据集的MDX脚本中为Date维创建一个动态集。即。
File.delete()
第二步 - 获取动态集的头部(第一个)和尾部(最后一个)。这两个函数将结果生成为元组,因此我们需要使用.Item(0)来提取成员部分,即
CREATE
DYNAMIC SET CURRENTCUBE.[Dates Selected] AS
EXISTING [Date].[Calendar].[Calendar Date];
这些可以与Range一起使用,并与PARALLELPERIOD和SUM结合使用以获得结果,即
HEAD([Dates Selected],1).Item(0)
TAIL([Dates Selected],1).Item(0)
我希望这有帮助!