0
votes

I'm designing a MOLAP cube in SSAS and one of my dimensions has a very high cardinality >1000 members. I want to disable multiple selection on this dimension and only allow users to select one member at a time. Currently, when users browse a cube through SSMS, they can drag this dimension into filters section and multi select multiple values in it. One of my distinct measures doesn't make sense when you multi select multiple values and hence the reason I want to disable multi selection. I couldnt find any such property on the dimension properties. Any ideas how to do this?

1

1 Answers

3
votes

Unfortunately, there is no way to disable multi-selection.

What if make this measure NULL if several members are selected?

Let's say we need to disable [Measures].[Count] if several dates are selected in [Report Date].

First, add member, which calculated selected members of this dimension:

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;

Than write a SCOPE that NULLifies necessary measure:

SCOPE ([Report Date].[Report Date ID].Members,[Measures].[Count]);
THIS = IIF([Measures].[Report Dates Count]>1,NULL,[Measures].[Count]);
END SCOPE;

Let's verify it!

One member:

NULLifyMeasure_1item

Two members:

NULLifyMeasure_2items

Four members:

NULLifyMeasure_4items

Many members:

NULLifyMeasure_Nitems

[Measures].[Count] is shown only when one member is selected.

Hope this technique may help somehow.