CData コネクタの活用 : Salesforce 接続

## はじめに
[CData](https://www.cdata.com/jp/drivers/) は、様々なデータソースに接続可能なコネクタを提供しています。以前に[Active Directory](https://qiita.com/ExtremeCarvFJ/items/b38076e093e20d6192a8)、[SharePoint]( https://qiita.com/ExtremeCarvFJ/items/e28555dfc041e5775bb5)、[Twitter]( https://qiita.com/ExtremeCarvFJ/items/7441bbd5340711846073) 、[MongoDB]( https://qiita.com/ExtremeCarvFJ/items/d9a22480a66634e41caa) などへの接続を紹介しましたが、今回は [Yellowfin](https://yellowfin.co.jp/analytics-best-practice/dashboard-gallery?dashboard=interactive-dashboards) から Salesforce に接続してみたいと思います。
なお、下記手順は Windows 環境を前提としています。

## コネクタ
#### コネクタの入手
CData の Salesforce JDBC Driver 評価版を利用します。まずは下記 URL にアクセスし、対応データソースから Salesforce を選択します。その後、[JDBC] > [ダウンロード] > [ダウンロード評価版] > [ダウンロード Windows Setup (.exe)] の順に進み、SalesforceJDBCDriver.exe をダウンロードします。

https://www.cdata.com/jp/driver

SalesforceJDBCDriver.exe を実行すると、デフォルトで以下にファイルが解凍されます。
`C:\Program Files\CData\CData JDBC Driver for Salesforce 2022J`
lib フォルダに以下のようなファイルが存在します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/e7ef93c8-ceee-1175-bf4e-9593a5dc96bb.png)

#### コネクタのインストール
ライセンスファイル cdata.salesforce.lic を zip ファイルに圧縮した後、cdata.jdbc.salesforce.lic.zip をcdata.jdbc.salesforce.lic.jar に名称変更します。プラグイン管理画面で .jar か .yfp ファイルしか登録できないことへの対応です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/d842b3b0-8874-beef-545a-bad8294590df.png)

Yellowfin 画面から [管理] > [プラグイン管理] > [追加] と進み、cdata.jdbc.salesforce.jar をドロップして追加した後、「さらに追加」を選択して、cdata.jdbc.salesforce.lic.jar を追加します。結果、以下のように、実行ファイルとライセンスファイルの両者を合わせて登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/4506afea-6f97-da10-d339-3df6b21ed5d0.png)

## データソース
Yellowfin 画面から [管理] > [プラグイン管理] > [追加] と進み、[新規データ接続] で [データソースを選択] から [データベース] を選択します。
新規接続の設定画面から、以下を参照に新規接続を作成します。

|項目|設定値|
|---|---|
|名前|Salesforce|
|データベースタイプ|一般 JDBC データソース|
|JDBC ドライバー|cdata.jdbc.salesforce.SalesforceDriver(Salesforce CData)|
|接続文字| jdbc:salesforce:AuthScheme=Basic;User=&lt;your_account&gt;;Password=&lt;your_password&gt;;SecurityToken=&lt;your_token&gt;;|

Basic 認証でアクセスする場合にも、ユーザーIDとパスワードに加え、セキュリティトークンが必要となります。セキュリティトークンを発行するには、以下の手順に従います。
+ Salesforce にログイン
+ [プロフィール設定] > [私の個人情報] > [私のセキュリティトークンのリセット] > [私のセキュリティトークンのリセット] ボタンを押下
+ セキュリティトークンを含む情報が「新しい Salesforce セキュリティトークン」という件名のメールで送信される

また、cdata.jdbc.salesforce.jar をダブルクリックすると、下記の画面が表示されます。こちらで接続テストをした後、接続文字列をコピーして利用すると良いかと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/022a4ec6-bf1b-d695-d560-dd092d27c672.png)

接続文字列の末尾に下記を付与することで、指定したディレクトリにログファイルを出力することもできます。
`LogFile=C:\log\SalesforceLog.log;Verbosity=3;`

[ビュー作成] ボタンを押下し、接続が成功し、テーブル名が参照できればひとまず大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/df661276-f753-90e2-6247-8d7d43e7c7db.png)

## ビューとレポートの作成
先の手順で作成したデータソースを参照して、[ビュー](https://wiki.yellowfin.co.jp/pages/viewpage.action?pageId=2294093)と[レポート](https://wiki.yellowfin.co.jp/pages/viewpage.action?pageId=2293799)を新規で作成します。
Opportunity テーブルの StageName 毎に、件数を集計してみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/9ccf5fe1-d3a0-eddf-9a4a-4e1dedf54875.png)

## 最後に
Salesforce のデータを可視化して、販売戦略に役立つダッシュボードを作成してみませんか。
では皆様、良いデータ分析を! See you then, Cheers!!