Alteryxでできること、できないこと 〜Alteryxの適切な導入について再確認する〜 #alteryx_ug

はじめに

当エントリは『Alteryx User Group in Tokyo Advent Calendar 2018』の6日目です。

昨日5日目の記事は、弊社福田によるAlteryxのお客様活用事例 2018年最新情報の紹介でした。

弊社では、2014年12月からAlteryx社とパートナーシップを持ち、日本に製品を紹介、提供してきました。お陰様で現在は数多くのお客様にAlteryxをご利用頂いています。

私はこのAlteryxのプリセールスエンジニアという立場でもあるのですが、今回は、その経験を元にしたAlteryxが得意とすること、苦手とすることを紹介したいと思います。

Alteryxの担当領域、得意とすること

理想的な用途

We are a leader in the self-service data analytics movement with a platform that can discover, prep, and analyze all your data, then deploy and share analytics at scale for deeper insights faster than you ever thought possible.

WHAT MAKES THE ALTERYX PLATFORM DIFFERENT | alteryx

Alteryxを導入する典型的なシチュエーションは以下です。

  • Who: データ分析を行う人が
  • Why: 分析の為に必要なデータを作るために
  • What: 分析の素材となる様々な種類の元データ(データソース)を
  • Where: 自分の手元PC上を使い、セルフサービスで
  • When: 分析用のデータが必要となった時に都度
  • How: 元データを手早く加工したり、気軽に高度な計算に掛けたりする

このシチュエーションに合致するのであれば、Alteryxは非常に使い勝手の良い製品として高く評価して頂けるでしょう。

この5W1Hについて、以下でもう少し細かく見てみます。

利用対象者(Who)

データサイエンティスト、データアナリストなど、実際にデータ分析を行う人が手元で使うのが理想的です。GUIベースの画面で手軽にデータの加工処理が実装できるので、前処理に労力を取られる事無く、本業の分析に時間を使うことができるようになります。

次点としては、上記のデータ分析者にデータを加工し、渡す立場の情報システム担当者を挙げたいと思います。データ分析者から日々データの提供を依頼されるが、依頼が定期的でない上にデータの加工内容が毎回異なる、という状況は少なくありません。加工内容の変更に早く対応できる環境は、日々データ抽出スクリプトやSQLと格闘されている方にとって強い味方になるでしょう。

目的・用途(Why)

Alteryxは「データ分析に必要な前処理の実施」を得意としています。特に

  • データを、分析ツールで読み込む前に分析しやすい形に加工する
  • 分析ツールでは実現が難しい予測計算などの高度な処理を実行させる

という用途で使って頂くのが理想的です。

しばしば「Alteryxはこういう目的で使えますか?」というご相談を頂きますが、以下の用途は向かないと考えていますのでご注意ください。

BPM(業務プロセス管理):
Alteryxはノンプログラミングでデータ加工フローを構築、実行できます。しかし途中に人間の承認手続きを入れたり、テーブルにデータが入った事をトリガに処理を開始したりと言った業務フローを実現する機能は持っていません。従って、業務処理の可視化、自動化目的には使えません。専用のワークフロー製品を使うべきです。

MDM(マスタテーブル管理)、データハブ:
データの加工処理ができるので、そこから複数の業務データベースで発生する日々の更新に対しデータの同期を取る目的で利用検討される方がいらっしゃいますが、最初に導入する事になるAlteryx Designerはその用途に合っていません。Alteryx Designerはデスクトップツールで、基本的には定期実行機能を持っていません(有償オプションで提供されています)。製品ラインナップとして、作成したデータ加工フローをサーバ環境で動かすAlteryx Serverという製品はありますが、データ更新をきっかけに動くというようなトリガ機能もありませんし、やはり専用のデータ連携ソフトウェアを利用するべきだと考えます。

利用できるデータソース(What)

社内のデータは様々な形式で保存されています。それに対応するためAlteryxは幅広いデータ形式の入出力が可能です。詳細は下記のリンクをご覧ください。

Supported Data Sources | alteryx

典型的なデータソースは以下だと思います。いずれも対応しています。

  • Excel, CSV等のローカルファイルからのデータ読み取り、書き出し
  • Oracle, SQL Server等のRDBからのデータ読み取り、書き出し

実行環境(Where)

利用頻度の高い道具は手元に置いておくのが理想です。分析ツールもおそらく手元のPCにインストールされていることでしょう。Alteryxも同様に、まずはデスクトップ製品であるAlteryx Designerを手元のPCにインストールし、必要なデータ加工を直ぐに実行できるようにするのが理想的です。

上記"目的・用途(Why)"の項でも触れましたが、Alteryx Designerとは別にAlteryx Serverという製品があります。これはAlteryx Designerで作成したデータ加工フローを強力なサーバマシン上で定期実行する為のものなので、

  • 加工処理が複雑かつ大量で、手元のPCでは能力が足りない
  • 加工フローの変化が無く、ひたすら同じ処理を定期的に実施して欲しい
  • 同じ処理フローを複数ユーザで共有したい

という状況が発生した際に、導入を検討する事になるかと思います。

「複数ユーザでのフロー共有」という話で補足ですが、Alteryx Designerにはフローのエクスポート/インポート機能があるので、まずはそれを使って、異なるPC間でフローのやり取りは実現可能です。更にAlteryxを使っているデータがどこに存在して、業務上どの様な意味のあるデータなのかというメタ情報を集中的に管理して共有したい場合は、Alteryx Serverに加えてAlteryx Connectというサーバ製品を導入する事になります。Alteryx Connectについては下記エントリを参考になさってください。

処理実施タイミング(When)

Alteryxのデータ加工フローは基本的に手動で行います。自動化するためには、以下の対応が考えられますが、追加でライセンス費用が発生します。

  • Alteryx Serverを導入し、データ加工フローをServer上で実行させる
  • Alteryx Designerにスケジューラー機能を追加する
  • データ加工フローをコマンド化し、別のスケジューラーから呼び出す

活用方法(How)

Alteryxは基本的には"ツール"と呼ばれるアイコンを並べてノンプログラミングでデータ加工のフローを作成、実行します。しかしAlteryxはR言語のエンジンを内蔵できるので、Alteryx上に直接R言語で処理を書いて実行させることも可能です。最近のバージョン(2018.3以降)ではPythonを実行させることもできるようになっています。

更に一歩進めた行動な活用としては、「データ処理のAPI化」が挙げられます。これもしばしば質問されます。これに対してはAlteryx Serverに加えてAlteryx Promoteを導入することで実現できます。Alteryx Promoteについては、以下のエントリをご参照ください。

まとめ

製品のご紹介をする中でよく訊かれるAlteryxの特徴について説明しました。少しでもAlteryxを理解く上での参考になれば幸いです。

明日はtruestar社村瀬さんによる「AlteryxではじめるWebスクレイピング」の予定です。どうぞお楽しみに!

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

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

alteryx_960x400