gpt4 book ai didi

ssas - MDX:计算过滤器中选择的成员数

转载 作者:行者123 更新时间:2023-12-02 02:47:05 24 4
gpt4 key购买 nike

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

该维度没有 All 成员。

所以这是我的尝试

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 数据透视表发送到多维数据集的查询。 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 会在此过程中动态更改。

关于ssas - MDX:计算过滤器中选择的成员数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54148209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com