0
私は、現在のメンバーごとにmdx
クエリを使用して前の(上の)メンバーのSalesを取得する必要があります。mdxの上のメンバー値を順序付けした選択で得る
以下のmdx
は、通常のクエリで以前のメンバ値を取得するのに問題ありませんが、Salesによって行を並べ替えるように設定した場合、前の値は混在し、順序付けられたメンバーには適用されません。
WITH
MEMBER [Measures].[PrevMemberSales] AS
'SUM(
[Markets].[Country].CurrentMember.PREVMEMBER
, [Measures].[Sales]
)'
SELECT
NON EMPTY
({[Measures].[Sales], [Measures].[PrevMemberSales]}) ON COLUMNS,
NON EMPTY
//ORDER(
{[Markets].[Country].Members}
// , [Measures].[Sales], BDESC)
ON ROWS
FROM [SteelWheelsSales];
Salesの違いを得るには、前のメンバの値を上に戻す必要があります。
WITH
MEMBER [Measures].[PrevMemberSales] AS
(Order(
[Markets].[Country].Members
,[Measures].[Sales]
,BDESC
).Item(
Rank(
[Markets].[Country].CurrentMember
,Order(
[Markets].[Country].Members
,[Measures].[Sales]
,BDESC
)
) - 2
).Item(0)
, [Measures].[Sales]
)
SELECT
NON EMPTY ({[Measures].[Sales], [Measures].[PrevMemberSales]}) ON COLUMNS,
NON EMPTY
ORDER(
{[Markets].[Country].Members}
, [Measures].[Sales], BDESC)
ON ROWS
FROM
[SteelWheelsSales]
結果はOKですが、私の次の質問は、計算メンバーを作ることです:私はちょうど計算メンバーのために、以下の式を用いて問題を解決するために管理3.