1. はじめに
Alteryxで項目ごとにグループ番号を付与するフローを作りました。
2. ワークフロー
2.1 全体像の説明
①インプットデータ
今回はポケモンの新作ゲームに登場するポケモンのデータを使用
②インプットデータ
「名前、分類、タイプ、特性」の順に4項目を1グループとしたいので、グループの先頭となる「名前」を先頭カラム名としてセット
③マクロ
マクロで処理をすると「group_ID」という列が追加される
④クロスタブツール
クロスタブツールでデータを横持ちにする
⑤閲覧ツール
データ整形の完成!!!
2.2 マクロの説明
①マクロ入力ツール
2.1 全体像の説明の①インプットデータが入る
②セレクトツール
項目とデータの列は文字列なので、型は「V_Wstring」、サイズは「1073741823」にセット
③レコードIDツール
後の処理でデータの順番が混ざらないようにレコードIDを追加する
④フィルターツール
「項目」列から「名前」というレコードをTrueへ、それ以外のレコードをFalseへ分ける
⑤コントロールパラメータとアクションツール
コントロールパラメータには2.1 全体像の説明の②インプットデータが入る
アクションツールを図のような設定にする
※インプットデータが④フィルターツールの「名前の欄」に設定することができる
※今回は「名前」をグループの先頭に指定しているが、他の項目でも対応可
[#1]はインプットデータの「名前」が入る
⑥フォーミュラツール
「名前」というレコードをグループの先頭にしたいので、dummy列を追加し「1」を設定する
⑦レコードIDツール
名前のレコードに1から番号を追加する
⑧フォーミュラツール
「名前以外」のレコードにdummy列を追加し「2」を設定する
⑨ユニオンツール
⑦と⑧のレコードを結合する
⑩ソートツール
RecordID列を昇順、dummy列を昇順に並び替える
⑪複数行フォーミュラツール
「group_ID」にデータがなければ、「1つ上のgroup_IDのデータ」を設定
「group_ID」にデータがあれば、そのまま
というif文を書く
⑫セレクトツール
必要のない列を消してマクロの処理は完了!!!
おわりに
Alteryxで項目ごとにグループ番号を付与するフローをご紹介しました。
よく使うフローはマクロにすると呼び出すだけなので楽ちんですね。