Alteryxで順位をつけたい
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
このシリーズでは、Alteryxを触り始めた際に出てくる「こうしたいけどやり方が分からない」「どのツールを使えばいいか分からない」といった疑問を切り口として、Alteryxの機能をご紹介していきます。
今回のテーマは、「順位をつけたい」です。
順位をつけたい
今回作成するワークフローでは、Input Dataツールにてファイルを読み込んだのち、
- Sortツールで順番の並べ替え
- Record IDツールで順位付け
という処理を行います。
上の表には、「Score」という項目があります。この項目の数値が大きい順に順位をつけていきます。
まずは[Preparation]→[Sort]を追加し、「Score」の項目を[Descending]で降順に並べ替えます。
順位をつけるために[Preparation]→[Record ID]を使用します。[Record ID]を使用すると、新しく列が追加され、1ずつ増加する数値が割り当てられます。今回は「Rank」という項目を初めの列に追加し、番号を1から割り当てます。
これで順位をつけることができました。
同じ順位を割り当てたい
上の表の場合、「Score」が同じ人が複数います。今度は「Score」が同じ場合には同じ順位に割り当てる方法を考えてみます。
上のワークフローでは、Input Dataツールにてファイルを読み込んだのち、
- SummarizeツールでScoreをグループ化
- Sortツールで順番の並べ替え
- Record IDツールで順位付け
- Joinツールでデータの結合
- Sortツールで順番の並べ替え
という処理を行います。
まず、[Transform]→[Summarize]を追加します。Summarizeツールでは、[Fields]にて「Score」を選択し、[Actions]にて[Add]→[Group By]を選択。「Score」でグループ化します。
先ほどと同じように、Sortツールで並べ替えをして、Record IDツールで順位をつけます。
[Join]→[Join]を追加し、Input Dataツール(元の表のデータ)とRecord IDツール(Scoreに順位をつけたデータ)と接続します。[Join by Specific Fields]には、どちらのデータも「Score」を選択します。[Options]では、見やすいように不要な項目の削除と、項目の並べ替えを行っています。
出力結果を見てみると、「Score」が同じ場合は「Rank」を同じにすることができました。
「Rank」の数値が降順で表示されているので、最後にSortツールで昇順に並べ替えして完成。
最後に
今回は順位をつける方法をご紹介しました。これからもAlteryxの機能をご紹介していきます。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。