におけるディメンション階層の特定のメンバーをフィルタリング:私はMDXにかなり新しいですし、私は私の製品ディメンションの完全な階層としてだけでなく対策を返す基本的なMDXクエリを書かれているMDXクエリ
SELECT {[Measures].[Amount]} on 0,
{
DESCENDANTS([ProductH].[ProductH], [ProductH].[ProductH].[Lvl4], LEAVES)
}
ON 1
FROM
(
SELECT
{StrToSet('[AccountH].[AccountH].[Lvl1].&[TST17:0]',CONSTRAINED)} ON COLUMNS
FROM
(
SELECT
{StrToSet('[ProductH].[ProductH].[All]',CONSTRAINED)} ON COLUMNS
FROM [Model]
)
)
これにより、SSRSレポートの結果セットが返されます。これは、基本的に、ユーザーが選択したアカウント階層の製品ディメンションのすべてのレベルの金額です。
ここで、2番目のレベルのアカウント階層の金額を特定の名前は「除外」です。 私はと以外CROSSJOINを使用してこのフィルタを追加するために管理してきました - アカウントのノードの一意の名前に基づいて:
[AccountH].[AccountH].[Lvl2].&[TST17:0]&[TST17:1000]
が、私は、表示される名前に基づいてフィルタリングする金額を削除するために特別たい場所:
[AccountH].CURRENTMEMBER.MEMBER_CAPTION = "Exclude"
階層ノードの名前に基づいてフィルタリングするにはどうすればよいですか?
select
...
from [Model]
where ({[AccountH].[AccountH].Members - [AccountH].[AccountH].[Exclude]})
フィルター機能を試しましたか? – whytheq
はい、両方とも同じ問題ですが、ノードが削除されていないときにノードの名前を指定できないようです –