しばらく山とランは遠のいています

仕事、そしてコロナの関係でしばらく山やランからは遠ざかっています。来年の春から復帰できるようそろそろ運動再開していきたいと思います。ちなみに今、BIツールのPower BIが半分趣味になって、完全な運動不足になっています。20201020

2022年3月4日金曜日

【Power BI】順位を計算するときのコツRANKX

計算結果の順位を求める場合、RANKX()という関数を使ってメジャーを書きますが、これ結構難しいです。たぶん最初は、全部1位になってしまう経験をした人が多いです。

RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
https://docs.microsoft.com/ja-jp/dax/rankx-function-dax

順位 = RANKX(
            ALLSELECTED(①コンテキストフィルタを外したい列名を指定),
            DISTINCTCOUNT(②集計対象列),,Asc,Skip)

順位を計算するテーブルを関数の中に設定しますが、このテーブルは、コンテキストフィルターが効かないようにALL系のフィルタ関数を設定する必要があります。メジャーはコンテキストのテーブルの中で行ごとに(コンテキストフィルタ)計算されるもので、この際に順位を出す対象が1行ではなく、テーブル全体の行の中での順位を計算できるようにALL系のフィルター関数でコンテキストフィルタをクリアします。

これを気を付ければ順位が算出されます。

0 件のコメント: