サンプルデータ
OLAP キューブを次の形式でエクスポートしました (メジャーの[Some Percent]
使用法は ですAverage over time
):
[Net Weight] [Some Percent]
4 387 2,10%
3 304 1,60%
Grand total: 7 691 1,85% -- Percent is AVG
方式
[Modified Percent]
次のように計算する必要がある新しい計算メンバーを作成する必要があります。
[Net Weight].[1] / [Net Weight].[Total] * [Some Percent].[1] +
[Net Weight].[2] / [Net Weight].[Total] * [Some Percent].[2] +
[Net Weight].[n] / [Net Weight].[Total] * [Some Percent].[n] -- can be n rows
サンプルデータを使用した式
したがって、私のサンプルデータは次のようになります。
4 387 / 7691 * 2,10 + | 1,20%
3 304 / 7691 * 1,60 | 0,69%
= | 1,89% -- Sum of percent
望ましい出力
[Modified Percent]
次のように返されます。
[Net Weight] [Some Percent] [Modified Percent]
4 387 2,10% 1,20%
3 304 1,60% 0,69%
Grand total: 7 691 1,85% -- Percent is AVG 1,89%
MDX スクリプト
今のところ私はMDX Script
以下を持っていますが[Modified Percent]
、同じ値を返します[Some Percent]
CREATE MEMBER CURRENTCUBE.[Measures].[Modified Percent]
AS ([Measures].[Net Weight] / sum([Vendor Invoice].[Vendor Invoice No].[All],[Measures].[Net Weight])) * [Measures].[Some Percent],
FORMAT_STRING = 'Percent',
NON_EMPTY_BEHAVIOR = { [Net Weight] },
VISIBLE = 1;
これも試しましたが、不運にも同じ結果になりました:
CREATE MEMBER CURRENTCUBE.[Measures].[Modified Percent]
AS ([Vendor Invoice].[Vendor Invoice No].CurrentMember,[Measures].[Net Weight]) /
iif(
([Vendor Invoice].[Vendor Invoice No].CurrentMember.Parent,[Measures].[Net Weight]) = 0,
([Vendor Invoice].[Vendor Invoice No].CurrentMember,[Measures].[Net Weight]),
([Vendor Invoice].[Vendor Invoice No].CurrentMember.Parent,[Measures].[Net Weight])
)
* [Measures].[Some Percent],
FORMAT_STRING = 'Percent',
NON_EMPTY_BEHAVIOR = { [Net Weight] },
VISIBLE = 1;
分割部分が 1 を返すように見えます。それを解決する方法はありますか? ご不明な点がございましたら、お問い合わせください。詳細をお知らせします。