CData Power BI Connectors でDirectQuery を活用する方法



多くの企業がデジタルトランスフォーメーション(DX)やデータ活用に取り組んでおり、さまざまなSaaS、基幹システム、データベースからデータをデータウェアハウス(DWH)に統合して、意思決定やビジネスパフォーマンスの向上に役立つインサイトを得る事例が増えています。データマートやデータレイクを活用している企業もあるかもしれません。

しかし、DWH にデータを集約した後、Power BI などのBI ツールに大規模なデータセットをインポートして分析しようとすると、問題が発生することがあります。データ量が増加すると、従来のインポートや変換方法では時間がかかりすぎ、分析に使用することが難しくなったり、不可能になったりします。

この記事では、Power BI のDirectQuery 接続モードについて解説し、CData Power BI Connector を使用して大量データのインポートの手間を省く例をご紹介します。データソースとしてGoogle BigQuery を使用しますが、どのDWH とPower BI を連携する場合でも同様の機能が重要です。

リアルタイムクエリを活用する

多くのBI および分析ツールには、データをローカルにインポートせずにデータソースからリアルタイムでデータを統合・クエリする方法が用意されています。Power BI では「DirectQuery」接続モードがこれに該当します。リアルタイム統合には次のような利点があります。

  • すべてのデータを事前にインポートすることが難しい(または不可能な)大規模データセットから、レポート、ビジュアライゼーション、ダッシュボードを作成できます。
  • 参照データの変更をニアリアルタイムで反映できます。データを1つずつ再インポートするには、多大な時間とリソースが必要になります。
  • ツール固有のデータセットサイズ制限を回避できます。たとえば、Power BI では最大1GB のデータセットしかインポートできません。

CData ドライバーは、ツール、プラットフォーム、アプリケーションを問わず、データへのリアルタイムアクセスをサポートしています。特にCData Power BI Connectors は、DirectQuery を使用して、あらゆるデータソースとのリアルタイム統合をサポートしています。

Power BI でGoogle BigQuery にDirectQuery で接続する

Google BigQuery は、Google Cloud(GCP)で利用できるフルマネージド型のクラウドベースのデータウェアハウスです。高いパフォーマンス、従量課金制、Google Analytics やGoogle Ads などの他のGoogle エコシステムとの強力な統合を備えたクラウドベースのサービスを提供しています。

CData Power BI Connector は、Power BI のリアルタイムクエリ機能であるDirectQuery をネイティブサポートしており、Power BI のレポートやダッシュボードから大規模なBigQuery データセットにリアルタイムで接続できます。

Power BI の1GB のデータセットサイズ制限と、データのインポートおよび処理に必要なリソースを考慮すると、大規模データセットを扱うにはDirectQuery が唯一の選択肢です。この記事では、ニューヨーク市タクシー&リムジン委員会(NYC-TLC)のデータセット(イエロータクシーの運行データ)を使用して、Power BI からBigQuery へのリアルタイム統合をデモンストレーションします。

使用するテーブルの詳細は次のとおりです。

タクシー運行テーブルの詳細

  • テーブルID: nyc-tlc:yellow.trips
  • テーブルサイズ: 139.29 GB
  • 行数: 1,108,779,463

ご覧のとおり、このテーブルには10億行を超えるデータがあり、テーブルサイズはPower BI の1GB インポート制限を大幅に超えています。データセット全体をPower BI にインポートして分析することは不可能であり、他のツールやプラットフォームでも時間とリソースの面で現実的ではありません。それでは、CData Power BI Connector とDirectQuery を使用してこのデータに接続してみましょう。

データに接続するには、CData Power BI Connector でProject Id とDataset Id を設定します。以下はPower BI Connector のDSN 設定画面です。

ビジュアライゼーションを作成する

データにリアルタイムで接続することで、フィルター、集計などの複雑な操作の多くを元のデータソースで実行できるため、大規模なデータセットからでも素早くビジュアライゼーションを作成できます。複雑なクエリをデータソースに渡すことで、サーバー側の計算リソースを活用し、クライアント側のリソースを節約しながらレポート作成を高速化できます。フィルターの変更やドリルダウンなどに応じてリアルタイムで更新される、リッチなビジュアライゼーションを作成できます。

タクシー会社別の運行回数

まず、データセット内の各タクシー会社の運行回数を示す円グラフを作成しました。データをインポートする場合、10億行を超える運行データをインポートし、クライアント側でグループ化とカウントを行う必要があります。一方、DirectQuery を使用すると、BigQuery 上でグループ化とカウントを行い、その結果をリアルタイムでPower BI にアップロードできます。この機能により、もともと10億行あったデータを、BigQuery で処理・グループ化された3行のデータ(各会社1行)だけでPower BI 側でビジュアライズできます。

タクシー会社別の乗客数と平均合計運賃

次のビジュアライゼーションでは、各運行を乗客数と会社別にグループ化し、平均合計運賃を計算しています。乗客数0〜10人の運行をフィルタリングしているため、より複雑になっています。ここでも、10億行をローカルリソースで処理するのではなく、Power BI はBigQuery に平均化、グループ化、フィルタリング、並べ替えを任せることができます。この複雑さにもかかわらず、Power BI がグラフ化する必要があるのは33行のデータ(3社 x 11人の乗客数)だけです。

タクシー会社と場所別の降車状況

最後のビジュアライゼーションでは、各運行の降車場所(緯度と経度に基づく)をタクシー会社別に色分けして表示しています。このビジュアライゼーションでは非常にシンプルなクエリを使用しているため、結果セットはかなり大きくなります。

完全なダッシュボード

ライブクエリを使用すると、他のビジュアライゼーションでデータをドリルダウンするたびに、以前のすべてのビジュアライゼーションをリアルタイムでフィルタリングできます。たとえば、乗客5人のVTS 運行を表すバーをクリックすると、同じフィルターを他のビジュアライゼーションに適用できます。各ビジュアライゼーションのフィルターがクエリに追加され、Power BI がBigQuery にリアルタイムデータをリクエストし、数秒以内に結果が返されます。

無料トライアルと詳細情報

CData Power BI Connectors を使用すると、BigQuery をはじめとする人気のデータストアやデータウェアハウスでDirectQuery を利用できます。DirectQuery のサポートにより、元のデータセットのサイズに関係なく、円グラフや棒グラフからマップや散布図まで、あらゆるPower BI のビジュアライゼーションを使用してリアルタイムレポートを実行できます。

この記事ではBigQuery を使用していますが、ここで説明したテクニックと手順は、CData がサポートする250以上のSaaS、ビッグデータ、NoSQL データソースのいずれにも適用できます。

すべてのPower BI Connectors は30日間の無料トライアルを提供していますので、今すぐトライアルをダウンロードして、ビッグデータとのリアルタイム統合を始めましょう。