見出し画像

Tableau Prep 備忘録 ①ランク

最近、仕事でTableauPrepを使う機会があり・・・
備忘録としてnoteを書いておこうと思います。

例えば(サンプルスーパーストアです)
「サブカテゴリごとに一番若番の製品IDを取り出したい」というとき ”ランク” が使えます!
※重複削除の応用みたいな感じです。


まず、サンプルデータとしてサンプルスーパーストアの注文データから
【カテゴリ】【サブカテゴリ】【製品ID】を出しておきます。
※見やすさのためにカテゴリを家具に絞っています。

①データ準備

次に、並び替えて選択したい【製品ID】の
[・・・]→[計算フィールドの作成]→[ランク]と選択します。

②ランクを選択

「グループ化」で【サブカテゴリ】を選択し(PARTITIONでグループ化)

③サブカテゴリでグループ化

「並び替え」で[ランク](RANK())を選び、A→Zに並び替え(ASC)

④ランクと並び替え(A→Z)を選択

[ランク]のオプションでは[密度ランク][百分位ランク][ランク]の3つの選択肢があるので、それぞれ同じ条件で作ってみます。

⑥密度ランク、百分位ランク、ランクの選択

計算式は↓のように書かれていることが分かります。
グループ化:  PARTITION     ・・・サブカテゴリ
並べ替え:   ORDERBY       ・・・製品ID
A→Z:     ASC
Z→A:     DESC
ランク:    RANK()
密度ランク:  RANK_DENSE()
百分位ランク: RANK_PERCENTILE()

[ランク]と[密度ランク]がちょっとややこしいですが、
最終的なデータ数とランクの最大値を合わせたい場合は[ランク]です。

↓今回の結果はこんな感じです。

⑦ランクの種類と結果

というわけで、最後に[ランク]=1でフィルタすることで無事に
「サブカテゴリごとに一番若番の製品IDを取り出したい」
が完成しました!
私は業務で重複を削除して結合する際によく使っています。。。

⑧サブカテゴリ毎に一番若番の製品IDを抽出

いいなと思ったら応援しよう!