Alteryxで項目ごとにグループ化して番号を振る方法をご紹介します
項目ごとにIDをふってみよう
今回は、項目ごとにIDをふる、ということをやっていきたいと思いますが、以下のような例で見ていきます。
Group列にそれぞれA、Bの値が入っています。これに、Group列ごとに1から始まる番号を振ってみます。
手法として2つあるので、順に紹介します。
- 複数行フォーミュラツールを使う方法
- 累積和ツールを使う方法
1.複数行フォーミュラツールを使う方法
複数行フォーミュラツールを使う方法では。下のようなフローになります。
複数行フォーミュラツールのグループ化オプションで、グループ化したい項目にチェックを付けておきます。ID列となる新しいフィールドを作成し、式で一つ前のレコードのID列に1を足していきます。
この時、グループ化した項目ごとに、上から順に番号が振られることになるので、必要なら並び替えツールでレコードを並び替えておきます。例ではグループごとに、Field1 列の値が大きい順にIDを振っていくようにしています。
実行すると、Group列ごと、Field1列の降順に ID を振った「Group_ID」列が作成できました。
2.累積和ツールを使う方法
累積和ツールを使う方法では、下のようなフローになります。
まず、フォーミュラツールで新しい列を作成し、数値の「1」を付与します。
次に、累積和ツールでグループ化したい列(今回は「Group」列)を選択し、新たにフォーミュラツールで作成したフィールド(「example」列)に対しての累積和を作成します。この時、グループ化した項目ごとに、上から順に番号が振られることになるので、必要なら並び替えツールでレコードを並び替えておきます。例ではグループごとに、Field1 列の値が大きい順にIDを振っていくようにしています。
最後にセレクトツールで整理をして、グループごとに番号を振ることができました(上図の 「RunTot_example」列が最終的な結果です)。
まとめ
複数行フォーミュラツールや累積和ツールでグループ化する項目を設定することで、より複雑に番号を振ることができます。単純にレコードIDをふりたい場合は、レコードIDツールを利用するなど、状況に合わせて使うととても便利です。
サンプルワークフロー ダウンロード
GroupingRecordID_20200714 fa-download
※Alteryx Designer 2019.1.6.58192時点の情報です