はじめに
Tableau Desktopの計算フィールドには、ExcelのRANK.AVG()に相当する関数がないことがありません。
僕も業務で、このExcelをTableauで再現してほしいといわれたときRANK.AVG()が使用されていて困った経験があります。
今回は、備忘もかねてRANK.AVG()の再現方法を共有します!!
version
Tableau Desktop 2020.4
使用データ
Iris dataset
Excelで順位付けした場合
入力方法と引数
RANK.AVG(数値, 参照, 順序)
仕様
RANK.AVGの仕様は、同じ数値が複数ある場合、順位の平均値が返されるものとなっています。
以下の図のように、同じ値が4つあり、その順位が5位であるとき、いずれの順位も(3+4+5+6)÷4=4.5となり、四捨五入され表示される順位は5位となります。
Tableau Desktopで順位付けした場合
Tableau Desktopには順位付けの計算フィールドが複数用意されています。
詳しくはこちらをご覧ください。
表計算関数の中から2つの関数を使用し、比較します。
入力方法と引数
・RANK(expression, ['asc' | 'desc'])
・RANK_MODIFIED(expression, ['asc' | 'desc'])
仕様
下記の表をご覧ください。
RANKは同一の順位があった場合、最上位の順位が表示されるのに対して、RANK_MODIFIEDは最下位の順位が表示されます。
解決方法
以下の画像のようにRANKとRANK_MODIFIEDを使用し、計算フィールドを作成します。
最上位と最下位の平均を求めることで、ExcelのRANK.AVGと同様の順位を表示させます。
実際にTableau Desktopで作成した表です。
無事、ExcelのRANK.AVGを再現できています。
まとめ
ExcelのRANK.AVGとTableau Desktopの表計算関数の比較、Tableau DesktopでのRANK.AVGの再現まで行いました。
かなり力技でしたが、皆様の力になれば幸いです。
最後までご覧いただきありがとうございました。