[Alteryx] Input Toolの話

こんにちは、小澤です。

今回はAlteryxのInput Tool周りをまとめてみたいと思います。

Input Data

まずは最も利用する機会が多いこちらのツールです。

スクリーンショット 2017-04-06 15.33.45

Input Data Toolは様々なデータソースから入力を受け付けることができます。 いくつか例を見ていきましょう。

Excelファイル

以下のようなExcelのデータがあるとします。

スクリーンショット 2017-04-06 16.19.28

このファイルを読み込むのは以下の手順となります。

Input Data Toolの「Connect a File or Database」で入力ソース一覧を表示します。

スクリーンショット 2017-04-06 16.27.45

その中から、「File ...」を選択します。

スクリーンショット 2017-04-06 16.24.07

「ファイルの種類」から、お使いのバージョンに合わせたExcelか「All Files(.)」を選び、読み込ませたいExcelを選択します。

スクリーンショット 2017-04-06 16.25.25

Excelのどの範囲を読み込むかを聞かれるので、今回はシートで選択します。

スクリーンショット 2017-04-06 16.24.33

無事読み込めていることが確認できます。

スクリーンショット 2017-04-06 16.26.15

さて、ここで残念なことに以下のようなExcelファイルが渡されてしまった時はどうすればいいでしょう? まずは、同じ方法に読み込ませてみます。

スクリーンショット 2017-04-06 16.49.37

結果も残念です。

そんな時は、読み込む範囲を指定します。

まず、シートを指定した画面で、「SQL Editor」を選択します。

スクリーンショット 2017-04-06 16.51.03

次に表示された画面で、<シート名>$<読み込む範囲>と入力します。

スクリーンショット 2017-04-06 16.52.47

これで無事、必要な範囲のみを指定して入力とすることができました!

スクリーンショット 2017-04-06 16.54.32

CSV/TSVファイル

CSVファイルやTSVファイルといったテキストファイルも同様に入力ファイルとして扱うことが可能です。 こちらはいくつか設定できる項目があり、区切り文字やヘッダ行の有無などをファイルに合わせて指定してやる必要があります。

スクリーンショット 2017-04-06 17.09.25

その他読み込めるファイル

その他、SQLite3や各種統計解析ツールのデータ、Alteryxが使用するyxdbなど、多くのフォーマットのデータを読み込めます。

Databaseから読み込み

ローカル環境にあるファイルのみでなく、データベース常にあるデータを取得することもできます。 これにはODBCドライバを使って接続します。ドライバはあらかじめインストールしておく必要があります。

Microsoft SQL ServerとOracleであれば、フォームから接続先やユーザ名、パスワードなどを指定して接続することができます。

スクリーンショット 2017-04-06 17.49.34

それ以外のデータベースに接続する場合は、Windowsの「ODBCデータソース」からあらかじめ接続できる状態に設定しておき、それを利用してください。

次の画面でテーブルから取得するカラムを選択したりSQLを記述して必要なデータを取得します。

スクリーンショット 2017-04-05 15.35.25

Alteryx ServerのData Connection

Alteryx Serverを導入していて、Data Connectionの設定を行っている場合、そちらから取得するデータを選択できます。 こちらに関しては、Alteryx ServerのData Connectionを入力ソースとして利用するをご参照ください。

その他

その他にも、HTTPFSやWebHDFSを利用してHadoop常にあるデータを取得したりなどできます。 ここで解説していない、Data Input Toolの選択可能な項目が他にも多くあると思いますので必要に応じてご確認ください。

Date Time Now Tool

スクリーンショット 2017-04-07 9.01.00

こちらのツールでできることは現在の日時を文字列として利用できます。 選択できる項目は、フォーマットのみです。

できることは、これだけですが、計算などでうまく工夫すれば入力に利用するデータの日時の範囲に利用するなど応用が可能です。

Text Input Tool

スクリーンショット 2017-04-06 18.02.34

こちらは入力をAlteryx上で直接しているするツールとなります。 以下のように1つの項目ごとに直接入力していきます。

スクリーンショット 2017-04-06 18.06.44

Map Input Tool

スクリーンショット 2017-04-06 18.12.55

こちらは地図上のデータをAlteryx上で選択して入力するものになります。 Map Input ToolをWorkflowに配置すると地図が表示されます。

スクリーンショット 2017-04-06 18.16.39

この画面で上部の項目を選択することで、特定の位置や範囲といった情報を取得し、それを入力とすることができます。

スクリーンショット 2017-04-06 18.19.46

Alteryxではこの入力で得られた情報はSpacial Objectという形式で扱われます。

In/Out以外の入力ツール

In/Outに属するツール以外にもConnectorsなどに外部リソースに接続してデータを取得するためのツールがあります。 また、Galleryには標準では対応していないデータソースを入力として扱うことのできるツールも公開されています。

入力データの形式

さて、最後の話題としてツールではない部分に触れたいと思います。 Alteryxで扱うデータは基本的にSQLのテーブルのような形式になります

項目1 項目2 ... 項目n
値1-1 値1-2 ... 値1-n
値2-1 値2-2 ... 値2-n
... ... ... ...
値m-1 値m-2 ... 値m-n

この形式では行方向に一件分のデータを扱います。 例えばi行目であれば、「値i-1, 値i-2, ..., 値i-n」までが一件のデータとなります。 列方向は項目を意味しており、例えばアンケートのようなものであれば各項目となります。

アンケートの例で例えると、i番目に回答してくれた人のj番目の回答項目(はい・いいえや大変満足など)の実際に回答した値が入ることになります。 この形式は多くのデータ分析で実際に利用される形式となりますので、覚えておくとAlteryx以外でも活用できます。

Alteryxではサンプルにある「Data Artistry > Data_Standardize_Unformatted_data」のような変換まで含めて行うようなWorkflowも作成可能ですが、データ収集の段階からこの形式を意識しておくことでその後の分析が楽になります。 また、この形式であればそのままRDBなどに格納して共有することも可能になりますのでそういった点でも汎用性の高いデータ構造と言えます。

終わりに

今回はAlteryxのIn/Outに含まれるInput系のツールについて解説しました。 Input系のツールは利用頻度も高く、多くのツールは直感的に扱えるため、改めて解説の必要がない部分も多かったかもしれませんが、 様々なデータソースに対応しているという点で必要なソースからの入力が可能かを調べることも多いかと思います。