【Tableau Prep】ソート方法3選 Prepで並び替えをする方法を紹介!

【Tableau Prep】ソート方法3選 Prepで並び替えをする方法を紹介! | Tableau-id Press -タブロイド-
Tableau Prep

Tableau Prepでソート機能がないのは有名な話ですが(ver2020.3時点)、
データの処理の都合で並び替えをしたい・・・、というシーンはよくあると思います。

今回は、私が業務で使ったソート方法3選をご紹介したいと思います!


サンプルデータ

[オーダーID]、[商品ID]、[商品名列]を持った次のようなデータがあるとします。
データはソートの効果を分かりやすくするため、順不同に並べてあります。

このデータを使って並び替えてみたいと思います。


①単純なソート

まず[オーダーID]で並び替えてみます。
最初にお話ししたように、Prepにはデータをソートする機能はありません。
そこで、RANK()関数を利用して並び替えます。
計算フィールドでソートID①列を作り、次の式を設定します。

{ ORDERBY[オーダーID]ASC:RANK() }

[オーダーID]の昇順(ASC)でランクを振ります。
結果は次のようになり、[オーダーID]の昇順で並び変わっています。


②複数列でのソート

次に、複数列でのソートをやってみます。
第一ソートが[オーダーID]の昇順、第二ソートが[商品ID]の昇順で並び替えてみたいと思います。

ソートID②に次の式を記述します。

{ ORDERBY[オーダーID]ASC,[商品ID]ASC:RANK() }

計算式は単純ソートの時と同じで、ソートしたい列と昇順or降順を並べてカンマ区切りで記述します。
結果は次のようになり、[オーダーID]、[商品ID]の昇順で並び変わっています。


③特定列内でのソート

最後に、特定列内(グループごと)でのソートを試してみます。
[オーダーID]ごとに、商品IDを並び替えてみます。

ソートID③に次の式を記述します。

{ PARTITION[オーダーID]:{ ORDERBY[商品ID]ASC:RANK() }}

PARTITIONで、処理を行いたいグループを指定し、その後に処理を記載します。
[オーダーID]ごとに、[商品ID]を昇順で並べる、という処理にします。

結果は次のようになり、[オーダーID]ごとに[商品ID]の昇順で並び変わっています。

②との違いは、オーダーIDの並び替えは行わないという点です。オーダーIDは順不同になっています。

 


ソート3選、いかがでしたでしょうか?
今回使ったRANK関数は、連番(Index)を振る場合にも応用できます。
(連番を振る機能もPrepにはありません・・・。)
Tableau Prepはまだ進化途中のツールだと思うので、今後のアップデートに期待したいですね!

次回はRANK関数を利用した、「Tableau Prepで1行上のデータを取得する方法」をご紹介します!


truestarはマーケティング及びデータ分析の経験と技術を生かしたコンサルティングサービスを強みとしています。
当社のサービスにつきましては、こちらのお問い合わせフォームからお気軽にご相談ください!