是否可以在SSAS中禁用OLAP多维数据集中的多个维值选择?

时间:2015-02-04 07:22:39

标签: sql-server ssas olap

我正在SSAS中设计一个MOLAP多维数据集,其中一个维度具有非常高的基数> 1000个成员。我想在此维度上禁用多个选择,并且只允许用户一次选择一个成员。目前,当用户通过SSMS浏览多维数据集时,他们可以将此维度拖动到过滤器部分,并在其中多选多个值。当您多选多个值时,我的一个独特测量没有意义,因此我想禁用多选。我无法在维度属性上找到任何此类属性。任何想法如何做到这一点?

1 个答案:

答案 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;

让我们验证一下!

一名成员:

NULLifyMeasure_1item

两名成员:

NULLifyMeasure_2items

四名成员:

NULLifyMeasure_4items

许多成员:

NULLifyMeasure_Nitems

[Measures].[Count]仅在选择一个成员时显示。

希望这种技术可能会有所帮助。