簡體   English   中英

MDX:計算在過濾器中選擇的成員數

[英]MDX: count number of members selected in filter

我有一個要放入過濾器的維度,並創建了計算所得的成員,該成員應動態顯示該維度中所選成員的數量。

該維度沒有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會隨之動態變化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM