KEPFILTERSの秘密をDAXで解き明かす
Using DAX to unravel the secrets of KEPFILTERS.
DAXのKEEPFILTERS()関数は、過小評価されている関数です。そこで、この関数の詳細と驚くべき効果について、詳しく調査してみました。
導入
DAXでCALCULATE()関数を使用する際、通常は次のように単純なフィルタを追加します:
Product[Color] = “Green”
このフィルタは、[Color]列の既存のフィルタを値「Green」で置き換えます。
しかし、時にはさらに一歩進んで、テーブルまたは列の既存のフィルタを保持して、興味深い計算を行いたい場合があります。
そして、時には、メジャーから誤った結果を得て、なぜそれが起こるのか理解できない場合があります。
これらは、KEEPFILTERS()関数が私たちを助けることができる状況です。
ソースクエリ
まず、作業したいクエリを定義しましょう。
色別のオンライン販売リストを取得したいと思います:
DEFINE MEASURE 'All Measures'[Online Sales] = SUMX('Online Sales', [UnitPrice]*[SalesQuantity]) EVALUATE SUMMARIZECOLUMNS('Product'[Color] ,"Online Sales", [Online Sales] )
[UnitPrice]を[SalesQuantity]で掛けるためにSUMXを使用しています。
結果は次のようになります:
上記のようにCALCULATE()でフィルタを追加した場合、クエリは次のようになります。
// Only Green SalesDEFINE MEASURE 'All Measures'[Online Sales] = SUMX('Online Sales', [UnitPrice]*[SalesQuantity]) MEASURE 'All Measures'[All Green Sales] = CALCULATE([Online Sales] ,'Product'[Color] = "Green" ) EVALUATE SUMMARIZECOLUMNS('Product'[Color] ,"Online Sales", [Online Sales] ,"Green Sales", [All Green Sales] )
そして、結果は次のようになります:
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles