2

同じテーブルでループしてパーセンテージを作成する必要があるテーブルがあります。サンプルテーブルはこちら

ここに画像の説明を入力

私の最初のハードルは、%Weightage を作成することです。これは、特定の日の収益の割合を、その日の「その」フランチャイズのすべての収益で割ったものです。上記の例では、150/(150+200+300) = 23.07% となり、200/650 = 30.7% および 300/650 = 46.15 となります (注: 2015 年 1 月 1 日のレポート期間は取りませんでしたループするため、「その」日の「その」フランチャイズ レコードのテーブルをループします。)

次に、その日のフランチャイズ メジャーが必要です。これは、(%Forecast * %Weightage) の合計になります。この例では、Sum (91*23.07 + 97*30.7 + 92*46.15)/100 = 93.21% になります。

North にスライサーを使用すると、この Franchise% of 93.21 を生成できる DAX を手伝ってくれる人はいますか? ありがとう

---------------2015 年 2 月 26 日の質問の更新------------------------

ありがとうアビジート。

収益列が別のテーブルで、アカウントと日付期間 (月の 1 日) だけをメイン テーブルに結合した場合、これらの数式を使用できません。収益テーブルは月単位であるのに対し、フランチャイズ テーブルは日単位であるため、別のテーブルにする必要がありました。したがって、フランチャイズ テーブルと収益テーブルは多対 1 です。Period と Account を結合してキーを作成したので、2 つのテーブルを結合します。収益テーブルでは、Account and Month Period は一意の行です。分割された表は次のとおり です。 http://oi62.tinypic.com/9fsg8p.jpg

これで、収益テーブルのオレンジ色の行が有効な行になりました。収益テーブルにはありますが、フランチャイズ テーブルには報告されていません。そのため、重みを計算するとき、この行もフランチャイズ サウス トータルに含める必要があります。これに対応するためにDAXを書き直す方法を教えてください。まったくの初心者で、これは面白いのですが難しいと思います。

したがって、% Weightage を計算してから Franchise% Index を計算する必要があります。ありがとう

4

1 に答える 1

1

画像のとおり、テーブルが 1 つあります (名前を「フランチャイズ」にしましょう)。以下の対策が必要です。数式は次のように言及されています

{メジャー名} = {メジャー式}

1. Total Reported Revenue = Sum([Revenue])
2. Franchise Reported Revenue = CALCULATE(Sum([Revenue]),All(Franchise[Account]))
3. % Weightage = 100 * [Total Reported Revenue] / [Franchise Reported Revenue]
4. Total Forecast = Sum([% Forecast])
5. Account Weighted Forecast = [Total Forecast] * [% Weightage] / 100
6. Weighted Forecast =  If(HASONEVALUE(Franchise[Account]),  
                               [Account Weighted Forecast], 
                               Sumx(DISTINCT(Franchise[Account]),[Account Weighted Forecast]))

説明

  • メジャーは、PowerPivot の「計算フィールド」と同じです。それらの作成方法を説明するリンクを次に示します。リンク1 リンク2
  • メジャー [Account Weighted Forecast] の式では、メジャー [Total Forecast] の代わりに Sum([% Forecast]) を使用できたので、新しいメジャーを作成する労力を節約できました。このような参照は「裸の列」として知られています。これは良い習慣ではありません。ネイキッド列参照をカプセル化する新しいメジャーを作成することをお勧めします。リンク
  • メジャー [加重予測] は説明が必要です。

    HASONEVALUE(Franchise[Account]) : Determines if current calculation is 
         for normal cell or total\subtotal cell. This will return true for 
         normal cell and false otherwise.
    
    Sumx(DISTINCT(Franchise[Account]),[Account Weighted Forecast]) : This is        
         evaluated for totals\subtotals cell. Function Sumx iterates through        
         each account and find out [Account Weighted Forecast] and them sum it. 
    
于 2015-02-24T22:18:48.277 に答える