MDX でレベルの合計を最後の子の値として表示する方法

StackOverflow https://stackoverflow.com/questions/120616

  •  02-07-2019
  •  | 
  •  

質問

OLAP データベース内のすべての「週」レベルと「日」レベルのメジャーをリストする MDX クエリがあります。例えば

SELECT 
{
    HIERARCHIZE( {[Business Time].[Week].members, [Business Time].[Date].members} )
} 
ON ROWS,
{
    [Measures].[Quantity]
} 
ON COLUMNS 
FROM [Sales]

ただし、メジャーが週に対して表示される場合、すべての日の値の合計を表示するのではなく、週内の最後の日の値を表示したいと思います。例えば

1週目:12
9月15日:10
9月16日:20
9月17日:12
9月18日:15
9月19日:8
9月20日:9
9月21日:12
2週目:15
9月22日:12
9月23日:15

MDX 内でこれを実現するにはどうすればよいですか?

役に立ちましたか?

解決

新しい計算メジャーを MDX の先頭に追加します。これは、週レベルで表示されている場合にのみ、最終日の値を表示します。それ以外の場合は、変更しないままにしておきます。

WITH MEMBER [Measures].[Blah] AS 
'IIF(
   [Business Time].currentMember.level.name = "Week",
   ([Business Time].currentMember.lastChild, [Measures].[Quantity]),
   ([Business Time].currentMember, [Measures].[Quantity])
)'

クライアントからこの奇妙なリクエストがあったと思います。1 か月以内に同じオフィスの誰かから、このレポートの週ごとの「合計」が間違っているという電話がかかってくると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top