我正在SSAS中设计一个MOLAP多维数据集,其中一个维度具有非常高的基数> 1000个成员。我想在此维度上禁用多个选择,并且只允许用户一次选择一个成员。目前,当用户通过SSMS浏览多维数据集时,他们可以将此维度拖动到过滤器部分,并在其中多选多个值。当您多选多个值时,我的一个独特测量没有意义,因此我想禁用多选。我无法在维度属性上找到任何此类属性。任何想法如何做到这一点?
答案 0 :(得分:3)
不幸的是,没有办法禁用多项选择。
如果选择了多个成员,如果将此度量设为NULL,该怎么办?
如果在[Measures].[Count]
中选择了多个日期,我们需要停用[Report Date]
。
首先,添加成员,计算此维度的选定成员:
CREATE MEMBER CURRENTCUBE.[Measures].[Report Dates Count]
AS
sum(existing [Report Date].[Report Date ID].MEMBERS
,count(existing [Report Date].[Report Date ID].CurrentMember))-1,
VISIBLE = 1;
然后写一个SCOPE
来取消必要的措施:
SCOPE ([Report Date].[Report Date ID].Members,[Measures].[Count]);
THIS = IIF([Measures].[Report Dates Count]>1,NULL,[Measures].[Count]);
END SCOPE;
让我们验证一下!
一名成员:
两名成员:
四名成员:
许多成员:
[Measures].[Count]
仅在选择一个成员时显示。
希望这种技术可能会有所帮助。