CData Software Blog

クラウド連携のCData Software の技術ブログです。

Salesforce とBigQuery のデータをもとにActionista! でダッシュボードを作成してみた:CData JDBC Driver

f:id:sennanvolar44:20200708150454p:plain こんにちは、CData Software Japanの宮本です。

今回は BI ツールの Actionista! に CData JDBC Driver 組み込んで、Salesforce や BigQuery にあるデータをActionista! 上のダッシュボードで可視化してみたいと思います。

Actionista! とは?

ジャストシステム社が展開しているBIツールになります。データ分析の専門スキルがなくても手軽に直感的に使うことができ、まさに非エンジニアにとっても簡単にデータ分析を行うことができます。
Actionista! で使えるデータソースは、CSVExcelRDB、WebDB のUnitBase となっています。

https://www.justsystems.com/jp/products/actionista/
f:id:sennanvolar44:20200618152402p:plain

CData JDBC Driver とは?

さまざまなクラウドサービスやファイル、規格に標準 JDBC でアクセスすることができる 製品になります。
現在では 200 近くのサービス向けの JDBC Driver を提供しています。

https://www.cdata.com/jp/jdbc/
f:id:sennanvolar44:20200618162254p:plain

Salesforce とBigQuery のデータをActionista! で可視化する構成

Actionista! を起動しているマシンに CData Salesforce JDBC Driver と CData GoogleBigQuery JDBC Driver をインストール&所定の場所に配置することで、Salesforce とBigQuery のデータを取り込むことができ、Actionista! でビジュアライズします。
f:id:sennanvolar44:20200618162919p:plain

必要なもの

  • Actionista! (今回は30日間の無料体験版を使用しています)

https://www.justsystems.com/jp/products/actionista/

  • CData Salesforce JDBC Driver(30日間無料で使用できます)

https://www.cdata.com/jp/drivers/salesforce/jdbc/

  • CData GoogleBigQuery JDBC Driver(30日間無料で使用できます)

https://www.cdata.com/jp/drivers/bigquery/jdbc/

Actionista! で可視化する手順

今回は使用しているOS はWindows Server です。
ではさっそく、Actionista、CData Salesforce JDBC Driver 、CData BigQuery JDBC Driver をインストールしていきます。

CData JDBC Driver のインストール

CData Salesforce JDBC Driver
以下のリンクから評価版をダウンロードし、インストーラーを実行します。インストールは「次へ」で進めて構いません。
f:id:sennanvolar44:20200618172817p:plain https://www.cdata.com/jp/drivers/salesforce/jdbc/

CData BigQuery JDBC Driver
こちらも同じく以下のリンクから評価版をダウンロードし、インストールを行います。
f:id:sennanvolar44:20200618174101p:plain
https://www.cdata.com/jp/drivers/salesforce/jdbc/

Actionista! のインストール

続けてActionista! のインストールを行いますが、以下のインストーラーを実行するだけで完了です。
f:id:sennanvolar44:20200618171018p:plain

Actionista! にJDBC Driver を組み込む

Actionista! 内に先ほどインストールしたSalesforce と BigQuery のJDBC Driver とlicファイル(ライセンス)を配置します。
コピー元

コピー先

  • C:\JUST\JustBI\jdbc

次に、C:\JUST\JustBI\conf にあるdatamanager.properties プロパティファイルに今回使用するSalesforce と BigQuery のドライバークラスなどを以下のように指定します。
f:id:sennanvolar44:20200709172807p:plain

■コピペ用

# Salesforce
loader.jdbc.displayName.Salesforce = Salesforce
loader.jdbc.initJdbcUrl.Salesforce = jdbc:salesforce:
loader.jdbc.url.Salesforce = jdbc:salesforce:
loader.jdbc.driver.Salesforce = cdata.jdbc.salesforce.SalesforceDriver
loader.jdbc.dbmsInfo.Salesforce = cdata.jdbc.salesforce.SalesforceDriver

# BigQuery
loader.jdbc.displayName.bigquery = BigQuery
loader.jdbc.initJdbcUrl.bigquery = jdbc:googlebigquery:
loader.jdbc.url.bigquery = jdbc:googlebigquery:
loader.jdbc.driver.bigquery = cdata.jdbc.googlebigquery.GoogleBigQueryDriver
loader.jdbc.dbmsInfo.bigquery = cdata.jdbc.googlebigquery.GoogleBigQueryDriver

ドライバークラスはヘルプドキュメントに記載されていますので、Salesforce や BigQuery 以外のドライバーを使用する場合は以下の部分をご参照ください。
f:id:sennanvolar44:20200709201053p:plain

以上でドライバーの取込みが完了です。次は実際にデータを取得してみます。

Salesforce とBigQuery のデータをActionista! に取り込む

まずはActionista! の起動からになりますので、Windowsメニューにある「Actionista! の起動」を実行します。
f:id:sennanvolar44:20200618172050p:plain


Actionista! ではデータの保持をキューブという単位で保存します。また、クエリでデータソースからデータを取得するのではなく、対象テーブルのデータを全件キューブに保存します。
f:id:sennanvolar44:20200618234036p:plain ※Actionista! のマニュアルから抜粋

では、Salesforce と BigQuery のキューブを作成していきますので、下記URLでActionista! にアクセスしログインします。

http://localhost:18502/justbi/ui/home/

f:id:sennanvolar44:20200709173716p:plain


キューブの作成:Salesforce
キューブの新規作成をクリックします。
f:id:sennanvolar44:20200618184552p:plain

RDB を選択後キューブ名を設定し、設定情報を登録します。
入力が終わったら接続ボタンをクリックします。
接続情報のサンプル
jdbc:salesforce:User=xxxxxxxx;Password=xxxxxxx;SecurityToken=xxxxxxx;

f:id:sennanvolar44:20200619105132p:plain

Salesforce への接続が完了すると、テーブル名選択 のプルダウンが表示されます。ここでは、CData JDBC Driver により、Salesforce のオブジェクトをテーブル名として表示しています。
今回は商談データのOpportunity を選択し、OKボタンをクリックすると、
f:id:sennanvolar44:20200619105701p:plain

Opportunityオブジェクトのカラムが表示されます。
ここの画面でデータ型の変更やデータの抽出条件などを調整できます。さらにはデータクレンジングのための細かい設定なども可能です。
f:id:sennanvolar44:20200619110628p:plain

保存後、以下の画面が表示されます。ここでは実際にデータソースからキューブにデータを保存するので、作成したSalesforce を選択した状態で取り込みボタンをクリックします。 f:id:sennanvolar44:20200619112320p:plain

ポップアップが表示され、 取込みジョブが実行されます。
f:id:sennanvolar44:20200619122015p:plain
少し経つとデータ取り込みが完了します。
f:id:sennanvolar44:20200619122135p:plain

これでSalesforce のデータをActionista! のキューブに保存することができました。
この流れでBigQuery のデータもキューブに保存していきます。

キューブの作成:BigQuery
RDB を選択後キューブ名を設定し、設定情報を登録します。
認証については今回はGCP で発行したサービスアカウントのp12 ファイルを使うようにします。
OAuth認証でも可能ですが、本ケースでは少し工夫が必要なためサービスアカウントを使用しています

接続情報のサンプル
jdbc:googlebigquery:InitiateOAuth=GETANDREFRESH;DatasetId=xxxxxxx;ProjectID=xxxxxx;OAuthJWTCertType=PFXFILE;OAuthJWTCertPassword=notasecret;OAuthJWTCertSubject=*;OAuthJWTIssuer=xxxxxxxx@xxxxxxx.iam.gserviceaccount.com;OAuthJWTCert=パス\xxxxxxx-xxxxxxxx.p12;

サービスアカウントのp12ファイルをダウンロードする方法は、以下の記事をご参考ください。

www.cdatablog.jp
接続が完了したら、BigQuery にあるテーブルを選択して取り込みます。今回はActionista! に入っているサンプルデータをあらかじめBigQuery に登録していたので、そちらを使用していきます。
f:id:sennanvolar44:20200619154316p:plain

BigQuery ではマルチバイトでテーブルやカラム名を作成することはできないので、テーブルを追加後、必要な方はテーブル名や各項目の表示名を日本語に変更しましょう。
f:id:sennanvolar44:20200708163317p:plain

変更後、保存ボタンをクリックします。

BigQuery を使用する際に事前に確認しておくべきこと

BigQuery のように大規模なデータを瞬時に返すデータソースの場合には、Actionista! 内のキューブにロードを行うことでその恩恵を受けることができなくなる可能性があります。
例えば、BigQuery に毎分追加されていくようなログなどのデータの場合、BigQuery に直接クエリを発行すればレスポンスよくデータが返ってきますが、最新データを確認するために無条件で毎回全件ロードしてしまうと、ロードだけで時間を要してしまうようになってしまいます。

とは言え、Actionista! からもBigQuery のデータを可視化したい!という場合には、日時や閾値など条件指定を行って、ある程度絞ったデータをロードする、もしくはBigQuery にビューなどを用意するなど事前に検討することで他のデータソースなどと一緒に可視化できると思います。
f:id:sennanvolar44:20200710105802p:plain

続きまして、各テーブルの紐づけを行います。
左側の図の方で線を結び、右側の設定情報のリストから紐づける項目を選択し、保存して戻るをクリックします。
f:id:sennanvolar44:20200708163759p:plain

データマネージャーのトップ画面に戻ると、先ほど作成したキューブの一覧が表示されます。最初はステータス部分が「要取込み」となっていますので、対象キューブを選択した後、「取込み」ボタンをクリックしてデータを取り込みます。
なお、最初に作成したSalesforceのキューブは既に取込みを行っていましたので、ステータスが「利用可能」となっています。
f:id:sennanvolar44:20200708170857p:plain

ボタン押下後、以下のポップアップが表示されますのでOKボタンをクリックします。
f:id:sennanvolar44:20200708171442p:plain

Salesforce のデータのように、BigQuery のデータも取り込むことができました。
f:id:sennanvolar44:20200709175643p:plain

ダッシュボードの作成

これから簡単なダッシュボードを作成していきますが、使用するデータをここで選択します。下記赤枠の順でクリックし、キューブを選択します。
f:id:sennanvolar44:20200709185136p:plain

まずは、Salesforceのデータを使用してデータをそのまま表示してみます。先ほど作成したSalesforceのキューブを選択し、ダッシュボード名を入力します。 その後、OKボタンをクリックします。
f:id:sennanvolar44:20200709185710p:plain

左側にある明細パネルを右側のエリアにドラッグ&ドロップしますと、サブウィンドウが表示されるので、表示させる項目を選択します。
f:id:sennanvolar44:20200709192711p:plain

そうすると、そのままキューブのデータが表示することができます。
ドリルダウンなどを行いたい場合は、サイドメニューにある分析パネルで作成してください。
f:id:sennanvolar44:20200709194009p:plain

BigQuery から取得した売上データも同じような手順でダッシュボードを作成します。

以下は営業担当別、取引先別の予実と、商品のABC図 が見れるダッシュボードになります。このように、簡単にBigQuery のデータを可視化することができました。
ダッシュボード作成方法はActionista! のマニュアルをご参照ください。
f:id:sennanvolar44:20200709195400p:plain

おわりに

いかがでしたでしょうか。同じような手順でActionista! にCData JDBC Driver を組み込むことで、Salesforce やBigQuery のデータ以外にもNetSuite やMarketo 、kintone などCData Driver で対応しているサービスであれば、データを可視化することができるようになります。
今回ご紹介したCData JDBC Driver は30日間無料でご利用いただくことができますので是非お試しください!

www.cdata.com