WeeklyAlteryxTips#99 グループ作成ツールについて考えてみる

Alteryx

本ブログシリーズは、毎週AlteryxのTipsをお伝えしていく週刊AlteryxTipsブログです。

グループ作成ツールとは

結合カテゴリにある「グループ作成」ツールをご存知でしょうか?比較的使うケースが限られており、あまり重要視されていないツールかもしれませんが、そもそも使用頻度が少ないため余計に知られていないツールになっているかもしれません。

例えば以下のようなデータを考えてみたいと思います。

上の図は、各ポイント同士の関係性を絵に書いたもので(いわゆるグラフですね)、各ポイントは接続しているポイントがあり(ない場合もありますが)、その関係性は以下のように二列で表すことができます。

つまり、それぞれのポイントに接続している辺を1レコードで表しています。

上の絵では3つの点の接続されている塊があることが見た目でわかります。一方でこれを手でグループ分けして列挙するのは面倒なので、Alteryxでどうにかしたい、とします(大量なポイントがあると手ではできないですし)。このような場合にグループ作成ツールを使うことができます。

設定は以下の通り、第1キーと第2キーに2つのポイント列を設定するだけです。

これで、以下のような結果が得られます。

Group列がいずれかのポイントを代表点としていて、それに紐づくポイントをKey列で列挙しています。

それでは実際にこれはどのように活用できるのでしょうか?

活用例

ツールの「例を開く」を見てみると、ファジーマッチツールとの組み合わせが例として挙げられています。ファジーマッチツールは、単語の表記揺れをクレンジングするためのツールです。例えば、「株式会社アナリティクス」「㈱アナリティクス」は同じ会社ですが、これを表記揺れとして一つの組み合わせとしてくれるツールです。

※日本では、前株、後株で異なる会社だったり、そもそも会社名って住所が異なれば同じ名称で存在しうるのでこのツールで完全解決、とならないのが痛いポイントです

グループ作成ツールは、ファジーマッチツールの後ろに配置することで、置換用リストを作ってくれます。この置換リストができれば、あとは結合ツールなり、検索置換ツールなりで正規化できる、というわけです。

会社名を正規化してみる

例えば、アンケートなどで同じ会社の人が何人も参加しており、以下のようなリストが得られたとします(名前などは架空です)。

設定は以下のとおりです。

レコードIDフィールドは、今回のような目的の場合、一致対象のフィールドと同じで構いません。出力結果はレコードIDフィールドを基準に生成されるのですが、今回は名称の統一なのでむしろここに「一致対象のフィールド」と同じ項目を設定したほうが便利です。

一致対象のフィールドの「一致スタイル」というのはデータの中身にあわせてあげる必要があります。今回は日本語の会社名なので、そのままこのスタイルを使います。このスタイルが中身とあっていないと、いい感じに一致判定をしてくれないので要注意です(自動的にいい感じにしてくれないので、アルゴリズムは自分で考えて決めてあげる必要があります)。

今回のデータで実行すると、以下のようなデータが作成されます。

片っ端から一致しているぽいものの組み合わせを作る形で出力されます(一致度は%で指定可能です)。

この後ろにグループ作成ツールを配置すると、各名称をどれに置換すればよいか、というリストが出来上がります。

あとは、これを検索置換ツールを使って、元データに置換をかければよいです。

置換したい元データを「検索対象のフィールド」に設定します。検索する値は「Key」です。置換は、「見つかったテキストを次のフィールドの値に置換」でも「フィールドをレコードに追加」でもどちらでも構いませんが、対象となる列は「Group」です。

これで以下のようなデータが得られます。

このときのワークフローは以下のようになります。

実は、この方法に一つ欠点があり、置換する名称は選べない、ということです。つまり、今回であれば、置換後の候補として「株式会社アナリティクス」「㈱アナリティクス」「アナリティクス」「アナリティクス株式会社」と4つありました。これのどれがグループ作成ツールの結果に出てくる「Group」列に選ばれるか、というのを制御することはできません(おそらくソートして最初に来るものになりますが)。

とはいえ、手軽に正規化できるのは利点かと思いますので、うまく使いこなせば強力な武器になると思います。

とにかく、グループ作成ツールは、組み合わせのリストからグループを作ることができるツールなので、行き先リストや組織表など、関係性をリスト化したデータに対して、反復マクロや複数の結合を行わず、簡易的に結果を出すことができて有用な場合があります。

まとめ

  • グループ作成ツールの使い方をご紹介しました
  • 関係性を表したデータからグループを判別することが可能です
  • 特に、ファジーマッチツールを使った住所や会社名の正規化に役に立ちます

サンプルワークフローダウンロード

次回

いよいよ100個目のTipsです!

コメント

タイトルとURLをコピーしました