如何计算所有当前选定的维度成员

时间:2018-03-22 06:37:41

标签: ssas olap-cube

我有一个日期维度的多维数据集:

Period
- Year
-- Quarter
--- Month
---- Date

我需要计算用户选择的所有日期(在Excel中为f.e.)。我曾尝试使用计算成员,如:

[Period].[Period].CurrentMember.children.count 

选择1个月时效果很好。在其他方面(仅选择几个日期或季度),它返回下一级层次结构的子项数。

Descendants([Period].[Period],[Period].[Period].[Date]).count
Descendants([Period].[Period].CurrentMember,[Period].[Period].[Date]).count

所以我尝试使用Descendants。当选择任何级别的1个元素时,结果很好。但是你选择了一个f.e.一个季度中的2个月 - 它给出了所有元素的计数。

如何在日期级别获取所有选定元素的计数?

我也尝试过:

[Period].[Period].[Date].count
[Period].[Period].[Date].CurrentMember.count
COUNT([Period].[Period].[Date])
COUNT([Period].[Period].[Date].CurrentMember)

1 个答案:

答案 0 :(得分:1)

要在Excel中计算多选,您可以尝试动态集技术。假设您的[Period]维度具有[YQMD]层次结构,请尝试以下方法 CREATE DYNAMIC SET SelectedDates AS ( [Period].[YQMD].[Date] ) CREATE MEMBER CURRENTCUBE.[Measures].[SelectedDatasCount] AS ( SelectedDates.count )
请参阅此SO articleMSDN discussion。不幸的是,Mosha的文章已不再可用 警告 - 使用动态集的解决方案可能会妨碍查询性能。