AlteryxのMulti-Field Binning(複数フィールドビニング)ツールのご紹介

2019.04.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。

今回はAlteryx DesignerのPreparation(準備)カテゴリにあるMulti-Field Binning(複数フィールドビニング)ツールをご紹介いたします。

Multi-Field Binningツールとは

Multi-Field Binning

Multi-Field Binningツールとは、指定の列の数値データを用いてビン分割(グループ化)するツールです。AlteryxヘルプでのMulti-Field Binningツールの紹介こちらです。

ビン分割する方法として、Equal Records(等しいレコード)、Equal Interval(等間隔)があります。本エントリでは、Equal RecordsとEqual Intervalでのビン分割について、具体例を交えてご紹介いたします。

Equal Records (等しいレコード)

Equal Recordsでは、数値データを持つフィールド(列)とビン分割する数を指定し、レコード(行)の数によって分割します。

以下のデータを用意しました。「Data」列には1~10の整数の値が用意されています。

データ

Multi-Field Binningツールを使用して2つに分割します。

設定

設定はこちら。

  • Select fields for binning(ビニングするフィールドを選択します): 「Data」列
  • Equal Records(等しいレコード)
  • Number of Tiles(タイル数): 2

結果を確認すると、「Data_Tile_Num」列が作成されています。「Data」列が1~5までは1、6~10までは2というように、2つに分割されています。このデータでは、レコードの上から順に分割したようにも見えますが、「Data」列の数値を参照し、下位5件を1、上位5件を2と割り当てています。

結果

今度はランダムな整数を出力する「Random」列を用意しました。この画像では0、2、4、8の数値が出力されています。

データ

Multi-Field Binningツールを使用して2つに分割します。

設定

設定はこちら。

  • Select fields for binning(ビニングするフィールドを選択します): 「Data」列、「Random」列
  • Equal Records(等しいレコード)
  • Number of Tiles(タイル数): 2

結果はこちら。「Random_Tile_Num」列が作成され、「Random」列が0か2の場合は1、4か8の場合は2が割り当てられています。

結果

等しく分割できない場合

等しく分割できない場合をいくつか試してみます。

1~10の数値を3つに分割してみます。「Data」列の数値が1~3(3レコード)、4~6(3レコード)、7~10(4レコード)で分類されました。

設定と結果

続いて1~10の数値を4つに分割してみます。「Data」列の数値が1~2(2レコード)、3~5(3レコード)、6~7(2レコード)、8~10(3レコード)で分類されました。

設定と結果

同じ数値があるデータを2つに分割してみます。「Data」列の数値が1~4(7レコード)と10(3レコード)で分割されました。数値が同じ場合は同じグループになっています。

設定と結果

Equal Intervals(等間隔)

Equal Intervalsでは、数値データを持つフィールド(列)とビン分割する数を指定し、最小値と最大値から範囲を決めて分割します。

以下のデータを用意しました。「Data」列を使用してEqual Intervalsを試してみます。

データ

Multi-Field Binningツールを使用して2つに分割します。

設定

設定はこちら。

  • Select fields for binning(ビニングするフィールドを選択します): 「Data」列
  • Equal Intervals(等間隔)
  • Number of Tiles(タイル数): 2

結果はこちら。「Data_Tile_Num」列が作成され、1または2が割り当てられています。「Data」列の最小値が0、最大値が40となっており、この範囲を2つに分けると中間の値は20となりますので、20を境として1または2に分けています。

結果

境になる数値が小数点以下になる場合

数値を分割する境になる数値が小数点以下になる場合を試してみます。

「Data」列の最小値が3、最大値が10の場合、中間の値は(10 - 3) / 2 + 3により6.5となります。

設定と結果

「Data」列の最小値が2、最大値が10の場合、(10 - 2) / 3ごとに分割されますが、2.6.....と割り切れない数値になります。この場合はなるべく近い数値で分割されるようです。

設定と結果

ご注意

Multi-Field Binningツールについてご紹介してきましたが、本ツールについては現在不具合があり、以下のコミュニティにて不具合が報告されております。

例えば、以下の画像の例では、最小値が0、最大値が40のデータをEqual Intervalsを使用して2つに分割しようとしていますが、中間の値である20は「Data_Tile_Num」列で3となっています。

Multi-Field Binningツールの不具合については、Alteryx社にて対応検討中の段階となります。修正されたバージョンが提供されましたら、本エントリも修正いたします。

なお、上述のコミュニティのページでは、ユーザーから代替案としてマクロが提供されております。Alteryx社製のマクロではございませんが、デフォルトで搭載されているMulti-Field Binningツールでのビン分割の結果が思わしくない場合は、代替案として提供されているマクロをお試しいただければと思います。

最後に

今回はサンプルを使ってMulti-Field Binningツールについてご紹介しました。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400