Ssas MDX:统计在筛选器中选择的成员数

Ssas MDX:统计在筛选器中选择的成员数,ssas,mdx,iccube,Ssas,Mdx,Iccube,我有一个要放入过滤器的维度,并创建了计算成员,该成员应动态显示该维度中所选成员的数量 维度没有“全部”成员 这就是我的尝试 with member [Measures].[Count1] as count(existing(([MyDimension].[MyDimensionHierarchy].members))) select [Measures].[Count1] on 0 from [MyCube] -- gives me 1 这个会给我2,这是正确的: with membe

我有一个要放入过滤器的维度,并创建了计算成员,该成员应动态显示该维度中所选成员的数量

维度没有“全部”成员

这就是我的尝试

with member [Measures].[Count1] as count(existing(([MyDimension].[MyDimensionHierarchy].members)))

select  [Measures].[Count1] on 0
from [MyCube] --  gives me 1 
这个会给我2,这是正确的:

with member [Measures].[Count1] as count(existing(([MyDimension].[MyDimensionHierarchy].members)))

select  [Measures].[Count1] on 0
from [MyCube]
where ({[MyDimension].[MyDimensionHierarchy].[Member1], [MyDimension].[MyDimensionHierarchy].[Member2]})
但是,问题在于,当我使用上述公式创建计算成员,并将Count1拖动到Excel透视表中,将MyDimension作为筛选器拖动时,当我对维度成员进行多重选择时,我希望随着所选成员数的改变,计数会动态变化


但是Count1总是等于1。与此同时,我找到了一个答案:

我在问题中编写的查询实际上不是Excel pivot表发送到多维数据集的查询。Excel数据透视表生成如下查询:

SELECT  FROM (SELECT ({[MyDimension].[MyDimensionHierarchy].[Member1],[MyDimension].[MyDimensionHierarchy].[Member2]}) ON COLUMNS  
FROM [MyCube]) 
WHERE ([Measures].[Count1]) 
应通过使用包含筛选成员的动态集来完成此操作:

create dynamic set [SelectedMembers] as existing( [MyDimension].[MyDimensionHierarchy].members )
然后:

create member Measures.SelectedMembersCount as count([SelectedMembers])
因此,当在筛选器中选择不同的成员时,此集合会动态更改,并且SelectedMembersCount会随之动态更改