[英]How to filter a dimension hierarchy based on another dimension hierarchy in mdx
我有一個發件人和收件人維度,這是員工實際表中角色扮演的維度。 我的事實表有發件人,收件人,消息列。 我想讓員工發送的消息發送給公司中的每個人,但向經理報告的消息除外。 我嘗試過這樣的事情
WITH
SET [Others] AS
Except
(
Ascendants([Recipient].[Manager])
,[Sender].[Manager].Parent
)
SELECT
[OTHERS] ON COLUMNS
,{[Measures].[Messages]} ON ROWS
FROM [cube]
WHERE
[Sender].[Manager].&[xyz];
基本思想是..獲取給定發件人的所有收件人,並篩選其父級列表由發件人父級組成的收件人。
這是行不通的,因為除了兩個不同的維度層次結構之間,我無法做。
嘗試通過關鍵字EXSITING
使Set
具有更多上下文意識,然后使用Filter比較member_caption
WITH
MEMBER [Measures].[SenderName] AS
[Sender].CurrentMember.Member_Caption
SET [ExistingRecip] AS
(EXISTING
[Recipient].[Manager].MEMBERS)
SET [Others] AS
Filter
(
[ExistingRecip]
,
[ExistingRecip].Item(
[ExistingRecip].CurrentOrdinal - 1).Member_Caption
<>
[Measures].[SenderName]
)
SELECT
[OTHERS] ON COLUMNS
,{[Measures].[Messages]} ON ROWS
FROM [cube]
WHERE
[Sender].[Manager].&[xyz];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.