CData Software Blog

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

Box にアップされている Excel ファイルを Power BI で直接読み取る:CData Excel Driver

こんにちは。CData Software Japan リードエンジニアの杉本です。

CData CSV Driver や CData JSON/XML Driverはそれぞれのファイルデータをパス指定して、読み取ることができる Driverなのですが、実はBoxやAmazon S3Google Driveなどのクラウドストレージ上に存在するファイルも読み取ることができる機能が搭載されています。

そのクラウドストレージ接続がExcel Driverでも可能になりました!

www.cdata.com

f:id:sugimomoto:20200807103135p:plain

今回はその機能の使い方として、Box登録されたExcel ファイルの読み取り方法を紹介したいと思います。

ちなみに今回は Microsoftが提供するBIツールの「Power BI」から読み取ってみます。

必要なもの

  • Box アカウント
  • Power BI Desktop
  • CData Excel ODBC Driver(ODBC Driver 以外でも同様に実行できます。)

対象のファイル

今回の記事で対象とするExcel ファイルは以下のようなシンプルなExcelファイルです。

f:id:sugimomoto:20200807103222p:plain

これをBox上の「PowerBIConnector」というフォルダに格納しました。

f:id:sugimomoto:20200807103229p:plain

CData Excel ODBC Driverのインストール

次に今回必要となる CData Excel ODBC Driverをインストール します。

以下のURLから評価版をダウンロードしてください。

https://www.cdata.com/jp/drivers/excel/odbc/

ダウンロード後「setup.exe」ファイルを実行して、マシンへのインストールを進めます。

f:id:sugimomoto:20200807103234p:plain

インストール後、接続設定の画面が表示されるので「URI」の項目にBox上の対象ファイルを指定します。「box://」に続けて、フォルダパスとファイル名まで指定してください。

例:box://PowerBIConnector/BoxExcel.xlsx

合わせて「Initiate OAuth」のプロパティに「GETANDREFRESH」を指定します。

f:id:sugimomoto:20200807103240p:plain

入力後「接続のテスト」をクリックすると、以下のようにブラウザが立ち上がり、Boxへの接続許可確認画面が表示されます。内容を確認して「Boxへのアクセスを許可」をクリックしてください。

f:id:sugimomoto:20200807103312p:plain

これで接続設定は完了です。

なお、今回はBoxへの接続を例としていますが、Helpの「ストレージソースへの接続」ページにもある通り、様々なクラウドデータソースのExcelファイル、もしくはFTPサーバー上のExcelファイルを読み取ることができます。

f:id:sugimomoto:20200807103318p:plain

Power BI から接続する

それでは対象のExcelファイルにPower BIから接続してみましょう。

Power BI Desktopを立ち上げて「データを取得」をクリックし

f:id:sugimomoto:20200807103331p:plain

一覧から「ODBC」を選択します。

f:id:sugimomoto:20200807103337p:plain

先程構成したODBC DSN「CData Excel Sys」を選択し

f:id:sugimomoto:20200807103342p:plain

Windows認証で接続します。

f:id:sugimomoto:20200807103348p:plain

これで以下のようにBox上のExcelファイルのシートを取り込めます。今回は1シートのみでしたが、複数シートを一気に読み取ることもできます。

f:id:sugimomoto:20200807103353p:plain

以上で、Power BI に Box上のExcel ファイルのデータを読み込めました。

f:id:sugimomoto:20200807103432p:plain

直接BoxのExcelファイルを参照しているので、例えばBox上でExcelファイルを修正しても、Power Biにちゃんと反映されるので、便利ですね。