MDX:计算过滤器中选择的成员数
MDX: count number of members selected in filter
我有一个要放入过滤器的维度,并创建了计算成员,该成员应动态显示维度中 selected 成员的数量。
维度没有 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 枢轴 table,然后拖动MyDimension 作为过滤器,当我执行多个 select 维度成员时,我希望计数随着我更改 selected.
的成员数量而动态变化
但 Count1 始终等于 1。
同时我找到了答案:
我在问题中写的查询实际上不是 Excel pivot table 发送到多维数据集的查询。 Excel pivot table 生成如下查询:
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 会随之动态变化。
我有一个要放入过滤器的维度,并创建了计算成员,该成员应动态显示维度中 selected 成员的数量。
维度没有 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 枢轴 table,然后拖动MyDimension 作为过滤器,当我执行多个 select 维度成员时,我希望计数随着我更改 selected.
的成员数量而动态变化但 Count1 始终等于 1。
同时我找到了答案:
我在问题中写的查询实际上不是 Excel pivot table 发送到多维数据集的查询。 Excel pivot table 生成如下查询:
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 会随之动态变化。