Tableau Prep 備忘録 ①ランク
最近、仕事でTableauPrepを使う機会があり・・・
備忘録としてnoteを書いておこうと思います。
例えば(サンプルスーパーストアです)
「サブカテゴリごとに一番若番の製品IDを取り出したい」というとき ”ランク” が使えます!
※重複削除の応用みたいな感じです。
まず、サンプルデータとしてサンプルスーパーストアの注文データから
【カテゴリ】【サブカテゴリ】【製品ID】を出しておきます。
※見やすさのためにカテゴリを家具に絞っています。
次に、並び替えて選択したい【製品ID】の
[・・・]→[計算フィールドの作成]→[ランク]と選択します。
「グループ化」で【サブカテゴリ】を選択し(PARTITIONでグループ化)
「並び替え」で[ランク](RANK())を選び、A→Zに並び替え(ASC)
[ランク]のオプションでは[密度ランク][百分位ランク][ランク]の3つの選択肢があるので、それぞれ同じ条件で作ってみます。
計算式は↓のように書かれていることが分かります。
グループ化: PARTITION ・・・サブカテゴリ
並べ替え: ORDERBY ・・・製品ID
A→Z: ASC
Z→A: DESC
ランク: RANK()
密度ランク: RANK_DENSE()
百分位ランク: RANK_PERCENTILE()
[ランク]と[密度ランク]がちょっとややこしいですが、
最終的なデータ数とランクの最大値を合わせたい場合は[ランク]です。
↓今回の結果はこんな感じです。
というわけで、最後に[ランク]=1でフィルタすることで無事に
「サブカテゴリごとに一番若番の製品IDを取り出したい」
が完成しました!
私は業務で重複を削除して結合する際によく使っています。。。