Alteryxでできます!
はじめまして、データアナリティクスチームのohsakaです。
ビッグデータ時代の現在、データ量の肥大化とデータフォーマットの多様化が進んでいます。
データ分析を行うためには、必要なデータを収集後に整形・加工し、分析のための前処理を行う必要があります。
こうした前処理を含むデータの準備は、データプレパレーション(Data Preparation)と呼ばれます。
データ分析業務において、最も時間がかかる作業が、データクレンジングを含むデータの前処理です。
一般的に「データ解析の仕事の8割はデータプレパレーション」と言われており、簡易化が望まれています。
本記事では、代表的なデータプレパレーションツールである「Alteryx」の、データの前処理と帳票出力機能を検証します。
- Alteryxとは?
- 概要
- 実装
- 実装時にハマってしまった点
- まとめ
- 追記:Alteryxを0から学び始めるには
「Alteryx(アルテリックス)」は、米Alteryx社によるデータプレパレーションツール兼セルフサービスBIツールです。
GUIを用いた直感的なインターフェースを採用し、プログラミングを行うことなく、データ分析の前処理、データの高速分析、統計解析や機械学習、分析結果の可視化などが実現できます。
Alteryx上の具体的な操作として、処理や動作を示すアイコンを、マウスでドラッグ&ドロップし、必要な設定を行って線でつないでいくと、データ分析のワークフローを作成できます。また、作成したワークフローは保存して、再利用や共有が可能です。
データ分析においてコードを書く必要がないため、誰でも分析プロセスを作成して実行できるのが特徴です。そのため、ITエンジニアやデータサイエンティストに留まらず、ビジネスデータを取り扱うエンドユーザーでも使用できます。
特にデータの前処理に関しては定評があり、弊社のデータアナリティクスチームでも活用しているBIツールの「Tableau」との相性も抜群です。
今回はAlteryxのプレパレーションツールの機能の中から、「データ加工」と「帳票出力」の2点の検証を行います。
テストデータとして、カリフォルニア大学アーバイン校(UCI)の機械学習用のデータリポジトリにある下記のデータを利用しました。
UCI Machine Learning Repository Diabetes Data Set
https://archive.ics.uci.edu/ml/datasets/diabetes
70人分の糖尿病患者に関する血糖値データです。帳票が個人別の診断結果となるような、個別の計測データを採用しました。
データはTSV形式で、下記の4つの値が格納されています。
日付 | 時間 | 属性 | 取得値 |
---|---|---|---|
04-21-1991 | 9:09 | 58 | 100 |
04-21-1991 | 17:08 | 62 | 119 |
(略) | |||
09-03-1991 | 7:20 | 34 | 016 |
今回はこちらのデータを利用して、グラフと表を含むPDF形式の帳票の出力を検証します。
Alteryxには機能ごとのアイコンが200種類以上あります。アイコンは機能別に下記のカテゴリに分類されています。
各アイコンをGUI上でつなげていく事で、データフローを構成できます。
- 入出力:データ入力、データ出力
- 準備 :セレクト、ソート、フォーミュラなど
- 結合 :ユニオン、結合、複数結合など
- パース:日時、正規表現など
- 変換 :累計、転置、集計など
最初に、基本的な入出力機能の検証を行います。
下記は読み込んだCSVファイルの行数を出力するデータフローです。

ここで、データ出力のアイコンでは、読み込んだファイルの行数が、プレビューで確認できます。
そして行数のカウント結果が、指定したCSVファイルに出力されています。

今回検証したAlteryxのデータフローは下記の画像の通りです。

画像中の赤字と青字は、Alteryxのデータフロー上のコメントです。
- 赤字:データフロー上の役割
- 青字:個別の各アイコンに関する機能
ここで、Alteryxのデータフロー上のアイコン群の主な役割は、大きく分けて下記の4つの通りです。
- ファイルの読み込み、データの前処理
- グラフの出力
- 表の出力
- 帳票(PDFファイル)の出力
仕様として、複数の読み込みデータに対して、各々のPDFファイルを出力するデータフローを作成しました。
使用環境は下記の通りです。
ソフトウェア | バージョン |
---|---|
Alteryx Designer x64 | 2019.4.4.20206 |
データフローを実行することで、データの読み込みから帳票の出力まで自動的に実行されます。
出力された帳票は下記です。

Alteryxを利用することで、下記のデータフローが実現できました。
(1) 複数のCSVデータの読み込み
(2) データの前加工
(3) 統計値の算出
(4) グラフと表の生成
(5) 個別の帳票(PDFファイル)の出力
データフローの作成時に特に時間を要したのは、複数のPDFファイル出力部分です。
一般的なプログラム言語にあるループ処理はないため、実装手順を一から調べる必要がありました。
Alteryx上の各機能における実装手順は、下記の通りです。
- ファイルの読み込み時
ポイント:複数のファイルを読み込み、ファイル名をカラムとして追加すること
(1) 「ファイル名をフィールドとして出力する」で「ファイル名のみ」を選択 - グラフの出力時
ポイント:「バッチモード」を利用して、個々の読み込みファイルに応じたグラフ画像を出力すること
(1) インタラクティブチャートの「バッチ」の中の「バッチ」を選択
(2) 「バッチモード」を「オン」を選択
(3) 「グループ化を選択」の「グループ化け」でファイル名のカラムを選択 - 表の出力時
ポイント:ファイルの読み込み時に追加した「ファイル名のカラム」を、表に利用するフィールドに順番に採用すること - 帳票の出力時
ポイント:ファイルの出力時に、「ファイル名のカラム」を利用すること
(1) レンダリングの「レンダリングの設定」で「データを別々のレポートにグループ化する」にチェック
(2) 「以下でグループ化するフィールド」で、ファイル名のカラムを選択
(3) 「以下によりファイル名を変更」で、任意の項目を選択(「Appending Group To Filename」など)
本記事ではAlteryxにおけるデータプレパレーション機能と帳票出力機能を検証しました。
その中で実感したAlteryxの利点は、下記の3点です。
(1) 利用できるデータが入力、出力ともに多様であること
豊富なデータソースを容易に扱うことが可能です。
CSVファイルやExcelはもちろん、DB上のデータも一元的に扱えます。
(2) データ分析を誰でも行える事
各機能を有したアイコンをGUIベースで配置するだけで、プログラミングすることなしに、データフローの作成が可能です。そのため、誰でも扱うことができます。
また、データフローそのものが設計図となるため、別にOfficeなどで資料を作成する必要がありません。
例えば、Pythonを利用した解析を行う場合、ソースコードとは別に、仕様書をExcelやPowerPointなど別ツールで作成する場合が多いと思いますが、そういった手間が削減できます。
(3) データ分析にかかる時間の効率化
Alteryxを利用することで、データプレパレーションを一括して行う事ができるため、削減した時間をメインの分析に用いることが可能です。また、データフローの途中で各データの出力を確認できるため、作成時のデバッグも容易です。
Alteryxに関して日本語の書籍はまだ発売されていませんが、自学自習として、公式サイトの「Alteryx Community」にあるインタラクティブレッスンを、WEB上で受講可能です。
インタラクティブレッスン – 日本語 – Alteryx Community
https://community.alteryx.com/t5/intarakutiburessun-ri-ben-yu/tkb-p/interactive-lessons-ja
受講は無料ですが、はじめに「Alteryx Community」のアカウントを作成する必要があります。
インタラクティブレッスンには英語版と日本語版があり、レッスン数は2020/03/31現在、日本語版が全25レッスン、英語版は全59レッスンです。
今回は日本語の全25レッスンを受講しました。合計の受講時間は10時間程度でした。
- 「Alteryx Designer 入門」:11レッスン
- 「Excel ユーザーのための Alteryx」:7レッスン
- 「式の作成」:7レッスン
インタラクティブレッスンの特徴として、動画でチュートリアルを見るだけではなく、受講中は画面上で指示に従って、マウス操作やキーボードを実際に体感できます。
一般的な書籍やWEBを用いた学習方法より、効率的にAlteryxの操作方法を学習することが可能です。
個々のレッスンの所要時間は、10~15分程度です。各レッスンの最後には、確認テストが3問ずつあります。