Salesforce
ODBC
CData
Alteryx

Alteryxから CData ODBC Drivers を使って様々なクラウドサービスやNoSQLからデータを取得する方法

More than 1 year has passed since last update.

はじめに

Alteryxとは

Alteryxは、データブレンディングと予測分析を得意としたアナリティクスツールです。ちなみに、呼び方ですが、日本語読みでは「アルタリスク」または「オルタリスク」と呼ぶようです。日本では、クラウドやアナリティクスを得意としているクラスメソッド社がAlteryxの正規代理店となっています。私もこの記事を書くのにDeveloper.I.Oを参考とさせて頂きました。

CData ODBC Driversとは

一言でいうと、下記のような約90種類以上のクラウドサービス・RDB・NoSQL・ファイルのデータをSQLで操作できるODBCドライバ製品群です。
image.png
製品の詳細はCData SoftwareのWebサイトをご覧ください。

AlteryxとCData ODBC Driverを両方使うことでできること

利用イメージ

Alteryxはデータブレンディング、すなわち、多種多様なデータソースを組み合わせて利用することに特化したツールです。Alteryx自体、多種多様なデータソースに対応しています。他のアナリティクス系の製品と密に連携できるようなデータソース(TableauなどのBIツール、SPSSなどの統計解析ツール、Redshift,VerticaやNetezza)が充実しています。対応データソースについては、Alteryxで何が出来るのか – 実行可能タスク全197種 概要紹介&リファレンスまとめ #alteryxの記事にまとまっています。また、Alteryxは、これらのネイティブで接続できるデータソースの他に、ODBC規格のデータソースであれば連携できるようになっています。ということは、CData ODBC Drivers製品をODBCのコネクタとして使用することで、Alteryxがネイティブでは対応していない、SalesoforceやkintoneといったSaasやMongoDBやCassandra、RedisといったNoSQLからデータを取得できるようになります。
image.png

出来ること

一般的に、データの分析業務の7割(人によって6割~8割とか言われるようです)はデータの前準備(データプレパレーション)だと言われています。この中で大変なのは、インタフェースが異なるデータソースを収集するところですので、これが、ODBCという統一規格で取得でき、Alteryxというデータブレンディングに特化したツールを用いることでデータの前処理にかかる労力を大幅に削減でき分析のトライ&エラーをサイクルを高めることができます。

実際にAlteryxでSalesforceからデータを取得してみる

前提として必要なアプリ- サービス

Salesforceのセキュリティトークンの取得

Salesforceにログインして、[私の設定]->[個人用]->[私のセキュリティトークンのリセット]を開き「セキュリティトークンのリセット」ボタンをクリックします。
image.png
メールで送られたセキュリティトークンを控えておきます。

CData Salesforce ODBC DriverのインストールとODBCのDSN設定

CData Salesforce ODBC Driverをダウンロードします。ダウンローしたExe形式のインストーラを起動して、EULAの内容を確認したうえでデフォルトの内容でインストールします。
※ 途中オンラインアクティベーションが行われるため、インターネットに接続できる環境である必要があります。

インストールが完了したら、WindowsのODBC データアドミ二ストレータを開きます。
image.png
32bit用と64bit用があるのでマシン環境にあった方をお選びください。ユーザデータソース内に、「CData Salesforce Source」が作成されていることを確認してダブルクリックで開きます。DSN設定画面が立ち上がるので、User、PasswordにはSalesforceへログインするときのユーザ、パスワードをセットし、SecurityTokenには、先の手順で取得したセキュリティトークンをセットします。
image.png
「接続テスト」ボタンをクリックして接続が成功した旨のダイアログが表示されれば成功ですのでDSN情報を保存してODBC データアドミ二ストレータを閉じてください。
※セキュリティトークンでの認証ではなくOAuthを使用することも可能です。詳しくはこちらをご覧ください。

AlteryxからODBCドライバの利用

Alteryx Designerを起動して新しいWorkFlowを作成します。「In/Out」タブ内の「Input Data」アイコンをパレットにドラッグ&ドロップで配置します。左側のConfigurationにて、データソースの種類を選択できるので「Other Dataases > ODBC....」を選択します。
image.png
「ODBC Connection」ダイアログが表示されるので、ODBCのシステムDSNとユーザDSNが表示されますので上記手順で設定したSalesforceのDSNを選択して「OK」ボタンをクリックします。
image.png
「Choose Table or Specify Query(テーブルの選択かクエリーの定義)」ウィンドウが立ち上がります。「Visual Query Builder」機能を使うと、Salesforceの各オブジェクトがテーブルとして左側に並びますのでデータを取り込みたいテーブル(画面の例では「Opportunity(商談)」)を選択してペインにドラッグすることでSQLを書かずに必要なデータを選ぶことができます。
image.png
なお、「SQL Builder」タブで、直接SQLを記述して「Test Query」ボタンで結果を参照することもできます。ことで記載できるSQLは、CData ODBC Drivers製品はANSIのSQL92準拠のSQLをサポートしていますので、JOIN(テーブル間結合)やWHERE(絞り込み)、OrderBY(並び替え)、GroupBY(集計)が可能です。
image.png
「OK」ボタンをクリックしてWorkFlow全体の画面に戻ります。このInputDataの中身をブラウズする「Browse」アイコンをパレットにドラッグ&ドロップします。すると、先の「Input Data」のアイコンから矢印でつながります。
image.png
それでは、メニュー下の再生アイコン「Run WorkFlow」ボタンをクリックして実行してみましょう。
処理が終了すると、右下にデータの内容が表示されます、データのヘッダーをクリックすると左側に、そのデータ項目の値の分布やNULLや欠落値の含む割合、最小値、最大値、平均といった様々な情報が取得できます。実際のデータプレパレーション業務では、この値を見ながら異常値を取り除いたり、新たなカテゴリを生成したりすることで、この後の分析業務をスムーズなものにすることが出来ます。
image.png

今回は検証してませんが、Alteryxは「Output Data」アイコンでもODBC接続できるようなので、作成した分析用データをSaasやNoSQLに格納するWorkFlowも作成することも出来そうです。この辺は次回検証してみたいと思います。
image.png

まとめ

AlteryxからCData ODBC Driver経由でSalesofrceのデータを取得する例をご紹介しましたが、Salesforceだけでなく、CData ODBC Drivers製品が対応している他のSaasやNoSQLといった約90のデータソースにも同じ手順で接続することが出来ます。Alteryxから呼び出すことで分析に利用できるソースが大幅に増えて手軽に利用できる環境を整えることによって分析の幅は大幅に広がると思います。Alteryx、および、CData ODBC Drivers製品をお試しいただける無償評価版があるので是非お試しください。

(ご参考)Alteryxからの接続KB

CRM & Marketing
- Salesforce
- DynamicsCRM
- Sugar CRM
- SuiteCRM
- Zoho CRM
- Google Analytics
- Google AdWords
- Marketo
- Oracle Sales Cloud
- Eloqua
- SendGrid
- youtube
- Bing Ads
- HubSpot

ERP
- Dynamics365
- DynamicsNAV
- NetSuite
- SAP NetWeaver

Collaboration & Mail
- sharepoint
- Office 365
- Box
- Google Calendar
- Google Contacts
- Google Drive
- Google Directory
- Gmail
- Exchange
- Active Directory
- ServiceNow
- kintone
- JIRA
- Twilio

NoSQL & Big Data
- DynamoDB
- BigQuery
- redis
- Redshift
- Cassandra
- Elasticsearch
- MognoDB
- Cosmos DB
- Cloudant
- HBase
- Apatch Spark
- Couchbase

SNS
- Twitter
- Facebook
- Instagram
- LinkedIn
- Salesforce Chatter

Document
- GoogleSpreadSheet
- JSON
- XML

Financial
- Square
- PayPal
- Stripe

Search Engine
- Google Search
- Bing Search