2019年4月9日ExcelやAccessで苦労していることを解決できるAlteryx(アルテリックス)をご紹介しますExcelやAccessでドハマリした経験ありませんか?とにかく今はデータを大量に扱う時代です。顧客データ、会計データ、売上データ、センサーデータ、ありとあらゆるところでデータが作られ、蓄積されていきます。データは貯めているだけでは何の価値も生まれません。「データは21世紀の石油だ」と言われていたりもしますが、石油は精製してようやく利用できるようになります。データも同様に、様々な加工をして初めて価値を持つようになります。そのデータの加工でよく使われるのが、Microsoft社の表計算ソフト「Excel」やデータベースソフト「Access」です。Excelは表計算ソフトとして使っていないビジネスマンはいないのでは?というくらい普及しており、表計算以外にも使われています。データ量が増えてくると、Excelでは扱いきれなくなりAccessに移行していく、という流れが一般的かと思います。いずれのソフトも現代の大量のデータを扱うには不向きです。Excelは約100万レコード(行)、Accessはファイルサイズが2GBytesまで、という制限があります。データ量が増えると非常に動作が重くなります。Excelで大量のデータに対してVLOOKUPで値の紐付けをしようとしたら結構待たされる、という経験をお持ちの方は多いと思います。Accessも大量のデータに対してクエリで値の更新をしようとして結構待たされる、というのもよくある話かと思います。ExcelやAccessでなぜ苦労するのか?Excelでデータ処理をする場合、関数を利用していくのがベースになるかと思います。Excelでは様々な便利な関数が用意されており、データ処理をする上でそれほど困ることは少ないかと思います。統計処理などにおいてもアドインツールが最初から用意されており、意外と高度なこともできます。Accessでデータ処理をする場合、クエリをどんどん作っていくのがベースになるかと思います。Excelに比べると回りくどいことも多く、直感的にやりにくい、ということがあるかと思います。データベースソフトらしくテーブルがベースになるので、Excelの表ほど自由度がないことが理由かと思います(例えば、表の一番下に集計された数字、例えば合計などを入れることができません)。いずれのソフトにも共通することですが、処理の見通しは決して良いとは言えません。Excelでは関数ベースで処理しますが、出発点がそもそもわかりにくいですし、関数を追っていくのがまず大変で、どのセルとどのセルが関連を持っているのかというのを調べるのは一苦労です。一方のAccessもクエリがクエリを呼んでいたり、そもそもどのクエリから出発しているのか、どの順番でクエリを走らせれば良いのか、こちらも手順書等なければ迷子になりやすいです。Excel、Accessに共通して言えるのは、データの流れがわかりにくく、どのように処理しているのか、というのが把握しにくい、というのが一番の問題点となります。そのため、誰でも使えるツールではありますが、逆に見通しの悪さから属人化してしまう、という傾向があるのです。両ソフトともマクロ(VBA)を使って自動化ができるとはいえ、パフォーマンス的(処理速度)にも高いとは言えず、大量のデータを処理するといった際に非常に時間がかかる部分が難点となります。唯一の利点としては、マクロ(VBA)を使える人というのは比較的多い、ということでしょうか。Alteryxはデータ処理の見通しが良いAlteryx(アルテリックス)は、セルフサービスデータ分析ツールと銘打っていますが、ExcelやAccessユーザーにとっては、関数やクエリで頑張っている部分をそのまま置き換えるようなソフトウェアとなります。置き換えるだけでは意味がないのですが、ExcelやAccessと比べると「処理が早い」「自動化までできてしまう」「処理の見える化までできる」といった利点もあります。先程問題にしていたデータ処理の見通しという部分は抜群に良く、ExcelやAccessであればわざわざフロー図など別の資料が必要なところですが、Alteryxの場合は作成したワークフロー自体が処理フローを示す図となるため、他に資料を作る必要がありません。データ処理の見通しが良いため、属人化しにくいという点でも優れています。そもそもビッグデータを処理するほどのパフォーマンスを持っているため、処理速度も圧倒的に早く、ExcelやAccessで悩むような処理データの件数についても悩む必要はありません。処理を行った時点ですでに自動化されていますExcelやAccessであれば、自動化をするためにはマクロ(VBA)を駆使して作る必要がありますが、Alteryxはデータの処理を完了した時点で自動化が完了しています。ワークフローさえできてしまえば、インプットデータを差し替えるだけでいくらでも同じ処理を行うことが可能です。このあたり、既存のソフトウェアであればデータ処理をすることと自動化を行うことを別に考える必要がありましたが、Alteryxではわざわざ自動化ということを考える必要はありません。機械学習やGIS処理も可能AlteryxはExcelやAccessではできない「機械学習」や「GIS処理」も可能となっています。機械学習については、通常PythonやRを勉強する必要がありますが、Alteryxではそもそもアイコンをドラッグ&ドロップするだけで利用できるため、統計の知識は必要ですが、PythonやRなどのプログラミング言語を覚える必要はないため機械学習の利用のハードルは低いです。GIS処理についても、よくあるGISソフトウェアにある難解なSQLなどを覚える必要はなく、直感的にアイコンを並べていけば処理を行うことができます。Alteryxの通常のデータ処理と同じく、データの処理を終えた時点で自動化も終わります。機械学習やGIS処理は、通常であれば複数のソフトウェアを行き来してようやく処理できるのですが、Alteryxであれば一つのソフトウェア上ですべてを終わらせることができるのが特長です。拡張性についてとはいえ、ExcelやAccessはVBAにより様々なことが可能です。すれば一つの専用アプリを作るレベルのことまで可能です。Alteryxには、PythonやRといった言語を利用することができ、またコマンドラインツールなどもワークフローの途中に挟み込むことができるため、拡張性も非常に高いです。AlteryxからRestAPIなど外部のAPIを呼んだりすることも可能です。Alteryxはデータ処理のワークフローを作るだけでなく、ワークフロー共有を行ったり、データをカタログ化したり、ワークフローの実行環境をサーバーで実現するようなソフトウェアもあるため、一連の分析プラットフォームとして利用できます。最初は小さなところから初め、最終的には全社展開して使うこともできるようになっています。まとめ本記事では、データ処理におけるExcel、Accessの問題点を挙げ、Alteryxがどのように解決できるのか、ということを紹介しました。以下の通り、紹介した内容を簡単に表にまとめてみました。Alteryxは、ExcelやAccessで苦労している人にはうってつけのソフトウェアということがわかるかと思います。Alteryxを導入することで、今まで数時間や数日間かかっていたような作業をあっという間に終わらせることができます。Alteryxのツールアイコンを簡単に紹介します。KCME主催ハンズオンセミナーご紹介KCMEでは定期的にBIツールのハンズオンセミナーを開催しております。詳しくは以下リンクを御覧ください。