こんにちは、truestarのtokuです。
今回ですが、前回のブログ「【Power BI】Power BIでtableauのLOD計算(Fixed)を再現する方法」で
一部のDAXはDirect Queryでは動作しないという話をしました。
ただ、Direct Queryとはなんぞやという方もいると思うので、今日はその説明をできればと思います。
接続方法の種類
PowerBIのデータセットへの接続方式(ストレージモード)としておおまかに分けて3つあります。
- インポート
- Direct Query
- ライブ接続
(デュアルやpushなどもありますが今回は除きます)
この中でも特に使用するのが
- インポート
- Direct Query
になるので今回はそこに絞って説明していきます。
ストレージモードの確認方法はデータセットにカーソルを合わせることで確認できます。
もしくはPowerBIのモデルビュー画面で該当するデータセットを選択し、
プロパティの詳細を開くことで確認可能です。
インポートとは
インポートモードとはデータソースから必要なデータをPower BI 用の形に変換し、.pbixファイルにデータを取り込みます。
インポートモードでは「ファイルにデータを保持する」=キャッシュされるため、最新のデータを閲覧するためには定期的に更新スケジュールを実行する必要があります。
Power BI Proは1日8回、Power BI Premiumだと1日48回の更新が可能のようです。
メリット
・データの加工や結合に制限がない
・一度キャッシュとしてデータを取得するため、パフォーマンス(処理速度)が速い
・使えるDAXに制約がない
デメリット
・データの鮮度は更新頻度にもよるがリアルタイムにはならない
Direct Queryとは
主にRDBと接続する際に利用できる接続方式になります。
インポートモードとは反対に、Power BI データセットにデータは保持せず、PowerBIで操作や関数の処理が行われるたびに、データソースへクエリを発行します。
そのため、常にリアルタイムでのデータ取得が可能です。
メリット
・都度クエリを投げるために、常に最新のデータアクセスが可能
デメリット
・都度クエリを発行するためパフォーマンスが悪い
→使用するデータ量や読み込まれる頻度によってはかなりパフォーマンスが低下します
・使用できるDAXに制限が出る
→DAXをSQLに変換してクエリを投げる関係で一部のDAXが使用できなくなります
・データの加工や結合も一部制限される
切り替えについて
Direct Query → インポートへの切替は可能ですが、インポート → Direct Queryへの切替はできません。
そのためDirect Query モードを使用する場合は、最初からその接続方式でつなぐ必要があります。
まとめ
いかがでしたでしょうか。
データのリアルタイムを重視しない場合は、基本インポートモードでいいのかもしれませんね。
処理速度としてもインポートモードの場合、一度PowerBIを開きデータセットを読み込むと2回目からはすべての処理が
かなり早くなるため、その点はおすすめです。
またtruestarではデータ活用に関する様々な業務を承っております。是非こちらからご相談ください。ではまた!