2017-09-06 11 views
0

[OK]を、非常に単純化テーブル...DAX平均3つの列、注文番号、製品番号、および数量の

Order | Product | Qty 
1  | A  | 10 
1  | B  | 20 
2  | C  | 30 

私は量の平均値を計算したいので...これはです"デフォルトの穀物":

AvgQty = 3分の60 = 20

簡単に、しかし、私はまた、その後の製品を削除する:

Order | Qty 
1  | 30 
2  | 30 

となりまし数量が再集計する必要があり、そして今私はAvgQtyはこれら新しい線の平均を返すようにしたいです[彼らは合計()と同じように] ...

AvgQty = 2分の60 = 30

明示的にそうように注文によってグループ化することによって、これを実行しようとした場合:

measure := 
IF (
    ISFILTERED ('Table'[Product]), 
    AVERAGEX (
     SUMMARIZE (
      'Table', 
      'Table'[Order], 
      'Table'[Product], 
      "SumQty", SUM ('Table'[Qty]) 
     ), 
     [SumQty] 
    ), 
    AVERAGEX (
     SUMMARIZE (
      'Table', 
      'Table'[Order], 
      "SumQty", SUM ('Table'[Qty])), 
     [SumQty] 
    ) 
) 

それはまだ示し続けるので、それは、原因製品の技術によってフィルタリングされていない列の合計にかなりの仕事をしません間違った合計...

これを上書きする方法はわかりません。

私の実際の計算は単なる平均ではありませんが、私が直面している主な問題は、新しい穀物でQtyの「再計算」を得ることができることです。問題は..ソリューションはまた、あまりにも注文穀粒でモデルにテーブルを読み込むこともできます! ;私も最後の日、それについて考えて、私は次の理由でこれを解決する方法はありません怖いです)

+0

希望の結果は?注文+商品、注文のみ、商品のみと合計 –

+0

はい...私はそれを再読して、それは少し不明です。短い答えは、私は現在2つの行があるときに、Qtyの「新しい」集約の平均を達成したいと考えています。製品のフィルタが削除されました... – m1nkeh

+0

Ok、編集済み..ありがとう! – m1nkeh

答えて

0

  • 算出したテーブル全体を返すDAXにおける機能がありませんあなたの行
  • として最大の問題
  • あなたは複雑なカスケードISFILTERED機能を使用して濾過したものを見つけることができるが、これは実際には不可能である単一の行の
  • も信頼性の高い
  • が集約された何を伝えるために機能はありません:あなたがいるとき合計または小計レベルは、これは解決できないDAXためそう

をうまくいくなどISFILTERED、HASONEVALUE、のような既存の機能のどれとして詳細行のために使用されたかを調べる方法はありませんあなたのモデルを照会するためにMDXを使用している場合(例:私の視点から)

ピボットテーブル)を使用すると、AXIS()関数を使用して行/列に使用されたセットを返すMDXメジャーを作成し、COUNT()関数に入れることができます。

+0

Gerhard、これはすばらしい答えです。私は自分の調査結果を検証するので、これで帰ってくれてうれしいです。ありがとうございます。私はPivotTableを使用して作業を検証していましたが、PowerBIマトリクスコントロールを使用していました。私が実際に「カバーしていた」もので、私たちのレポートレイヤーがPowerBIでした。 – m1nkeh