LoginSignup
3
3

More than 1 year has passed since last update.

Tableau 表計算を理解する ②RANK関数

Posted at

前置き

 TableauのRANK関数、項目を順位別に並べたい時などに便利ですよね。簡易表計算から使用することがほとんどだと思いますが、自分で計算式で作ることも可能です。計算式で作ろうとすると、実はRANK関数は5種類あることがわかります。どう違うのか気になったので整理してみました。
image.png
image.png

5種類のRANK関数の違い

 サンプルスーパーストアでサブカテゴリごとの販売数量を、5種類のRANK関数で計算すると下図のようになりました。
image.png
 一番上のRANKが簡易表計算でも使われる、もっとも一般的なものです。結果を見ると、文房具と電話機が同率9位で、その次の家具は11位となって10位は存在しません。つまり、RANKは同率を許し、同率の後ろの項目の順位は1位から数えた〇個目になる(同率があると順位が飛ぶ)、ということがわかります。

 次のRANK_DENSEは文房具と電話機が同率9位で、その次の家具は10位となっています。最下位のテーブルも16位となっており17項目あるのに16位までしかありません。つまり、RANK_DENSEは同率を許し、同率の後ろの項目の順位は1位から数えた〇位になる(同率があっても順位は飛ばない)、ということがわかります。

 次のRANK_UNIQUEはこれまでの2つとは違い、文房具と電話機は販売数量が同じなのにも関わらず、文房具が9位で電話機は10位になっています。つまり、RANK_UNIQUEは同率を許さない(同じ値であっても別の順位がつけられる)、ということがわかります。

 次のRANK_MODIFIEDは文房具と電話機が同率10位で、その次の家具は11位となって9位は存在しません。つまり、RANK_MODIFIEDは同率を許し、同率の項目の順位は同率項目の数だけ飛ぶ、ということがわかります。

 最後のRANK_PERCENTILEは少し毛色が違ます。順位付けの考え方はRANKと同じですが、値としては1位が1、最下位が0で、その間の順位の値は項目数で均等割りした値を引いていった値になります。具体的には、今回項目数が17なのでn位の値は次の計算式で求められます。

1-\frac{n-1}{17-1}

まとめ

 それぞれの関数の特徴を表にまとめました。違いは理解できましたが、正直RANK関数以外は使う機会なさそうだな~というのが正直なところ。あと、検証用に作成したVizはTableau Publicにアップしていますので、よろしければそちらもご覧ください。
image.png

 

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3