2017-01-30 23 views
1

次のシナリオがあります。私は試験に合格した生徒がいます。同時に1人以上の監督官がいるかもしれません。すべてのレベル(部門、スーパーバイザ、学生)の平均スコアを計算する計算をDAXで作成したいと考えています。DAXでSUMMARIZE以上の計算を計算する

元のテーブルには1人の学生に1つのテストが含まれていますが、このテーブルに新しく作成された学生 - スーパーバイザが「残っています」ので、スーパーバイザのスコアも計算できます。問題は、この新しい表で作成したすべての重複が含まれているため、部門ごとの平均スコアを計算するときです。

enter image description here

そして、これは私のモデルである:

これらは私のテーブルです

enter image description here

明らかDAXちょうどスコアの平均は、学生や監督者のため正常に動作し計算しています下のピボットテーブルでは、部門レベルで間違っています:

Avg Score:=AVERAGE(score[Score]) 

enter image description here

この時点で、私は以下のようなことを試みましたが、成功しませんでした。私の要点は、testidでグループ分けしてスコアの平均を取るSUMMARIZEの動的テーブルを作成することでした。それから、私はそれを再び平均し、正しいスコアとなり、その1列-1rowを数値に変換したいと考えました。しかし、これはうまくいかず、理由は分かりません。

Avg Score= VAR ThisTable=SUMMARIZE(score,score[TestId],"IndividualScore",AVERAGE(score[Score])) RETURN SUMMARIZE(ThisTable,"AvgScore",AVERAGE([IndividualScore])) 

答えて

0

これは私のアプローチです。

まず各コンテキストにスコアを取得するために、次のような指標を作成する:Sum Score尺度をAvg Score尺度ため必要とされる

Avg Score := 
DIVIDE (
    SUMX (DISTINCT (Score[Student]), [Sum Score]), 
    DISTINCTCOUNT (Score[Student]) 
) 

Sum Score := MAX(Score[Score]) 

そして平均計算尺度を作成しますこれを使用して計算を実行します。

あなたがパワーBIでこのMatrix(ピボットテーブル)のようなものを取得します:

enter image description here

は、このことができますなら、私に教えてください。

+0

こんにちはアレハンドロ、ありがとうございます。あなたの計算には、1つ以上のユニークなテストがある場合に問題がありますが、SUMXの考えが理解できたら、私は下に投稿します。もう一度、ありがとう! – Victor

+0

@Victor、あなたはあなたの質問でそれを指定しなかった、私はあなたがそれを解決することができてうれしいです。 –

0

アレハンドロのアイデアのおかげで、私は答えを理解することができました。基本的には、テストIDと平均スコア(つまり実際のスコア)でグループ化されたオンザフライのテーブルを作成しています。次に、AVERAGEXを使ってこれらのテストの平均を計算しています。 DAXコードは次のとおりです。

Avg CSAT:=VAR ThisTable=SUMMARIZE(score,score[TestId],"SumOfScore",AVERAGE(score[Score])) RETURN AVERAGEX(ThisTable,[SumOfScore]) 
関連する問題