🎯 Power BIを本格的に学びたい方へ
初心者から上級者まで、あなたのレベルに合わせたソリューションをご用意
ハンズオンセミナー
基礎編
Power BIの基礎を1日でマスター。データ取り込みから可視化まで実践形式で学べます。
- データ取り込みの基本
- レポート作成の流れ
- 基本的なビジュアル作成
Power BI 導入支援・構築
コンサルティング
経験豊富なコンサルタントが、御社の課題に合わせたPower BI導入を全面サポート。
- 大手から中小まで30社以上の導入実績
- 延べ3,000名以上のセミナー開催実績
- 課題ヒアリングから運用定着まで伴走
「インポートモードか、DirectQueryか?」 Power BIでデータモデルを設計していると、必ずこの究極の選択を迫られます。速さを取ってデータを丸ごと取り込むか、鮮度と容量を優先して毎回データベースに直接問い合わせるか。
実は、この「二者択一」の悩みを解決し、両方のいいとこ取りをする「第3の選択肢」があるのをご存知でしょうか?それが「デュアル(Dual)モード」です。
この記事では、Power BIの中級者以上が必ずぶつかる「コンポジットモデル」の壁を突破するための切り札、デュアルモードの仕組みと正しい使いどころを分かりやすく解説します。
1. まずはおさらい:インポートと DirectQuery のジレンマ
デュアルモードを理解するために、まずは基本の2つのモードの長所と短所を整理しましょう。
-
インポートモード(データを全部取り込む)
-
メリット: Power BIの超高速エンジン(VertiPaq)のメモリ上にデータを保持するため、クリックした瞬間にグラフがサクサク動きます。
-
デメリット: データ量が多いとメモリを圧迫します。また、データが更新されても、Power BI側で「更新ボタン」を押さない限り古いデータのままです。
-
-
DirectQueryモード(その都度データを直接見に行く)
-
メリット: 常に最新のデータが表示されます。数千万行、数億行といった巨大なデータでも、Power BI側の容量を気にせず扱えます。
-
デメリット: グラフをクリックするたびにデータベースへ問い合わせに行くため、表示が遅くなりがちです。
-
この2つをひとつのレポート内に混在させる高度な設計を**「コンポジットモデル」**と呼びます。そして、このコンポジットモデルを破綻させずにスムーズに動かすための「橋渡し役」が、デュアルモードなのです。
2. デュアルモードとは「賢いカメレオン」である
デュアルモードに設定されたテーブルは、インポートモードとDirectQueryモードの両方の性質をあわせ持ちます。
事前にデータを取り込んでメモリにキャッシュしつつ、必要に応じてデータベースへの直接問い合わせにも対応できる状態です。「今はどっちのモードで動くべきか?」は、ユーザーが意識する必要はありません。Power BIのAI(クエリエンジン)が、ユーザーの操作に応じて一瞬で最適なモードを自動選択してくれます。
-
スライサーで「店舗名」を選ぶとき: 他の巨大データと絡まない単独の操作なので、メモリ内のキャッシュを使って**「インポートモード」として爆速で表示**します。
-
売上データ(DirectQuery)と結合してグラフを作るとき: 巨大なデータソース側で計算をまとめた方が効率が良いため、カメレオンのように**「DirectQueryモード」に変身し、データベース側に処理を任せます**。
このように、状況に合わせて一番効率の良い動きをしてくれるのが最大の魅力です。
3. デュアルモードが劇的に効く「王道のパターン」
では、どんな時にデュアルモードを使えばいいのでしょうか?結論から言うと、「巨大なファクトテーブル」と「小さなディメンション(マスタ)テーブル」を組み合わせる時に絶大な威力を発揮します。
たとえば、以下のような構成です。
-
売上トランザクション(数億行): 大きすぎるので DirectQuery に設定。
-
商品マスタや店舗マスタ(数百〜数千行): ここを デュアルモード に設定。
もし、商品マスタを単なる「インポート」にしてしまうとどうなるでしょうか? Power BIは、メモリ上にある商品マスタと、遠くのデータベースにある数億行の売上データを、無理やり合体させて計算しようとします。結果として処理がパンクし、エラーになったり、信じられないほど時間がかかったりします。
マスタ側をデュアルモードにしておけば、結合が必要な場面ではマスタもDirectQueryとして振る舞うため、すべての計算を強力なデータベース側で完結させることができます。スライサーの操作はサクサクのまま、巨大データとの結合もスムーズにこなせる、まさに理想的な設計です。
4. 設定方法と「3つの落とし穴」
設定自体は簡単です。Power BI Desktopの「モデルビュー」でテーブルを選択し、プロパティペインの「ストレージモード」から「デュアル」を選ぶだけです。ただし、運用にあたっては以下の点に注意が必要です。
① 万能薬ではない(メモリはしっかり消費する)
デュアルモードは裏でインポートのキャッシュを持つため、当然メモリを消費します。数百万行あるような巨大なテーブルをデュアルに設定すると、レポート全体が重くなって逆効果です。あくまで「行数が少なく、変化が少ないマスタテーブル」に限定して使いましょう。
② データ鮮度の「ズレ」に注意
デュアルテーブルのキャッシュは、スケジュール更新のタイミングでしか最新化されません。DirectQuery側(売上など)は常に最新なのに、デュアル側(マスタなど)の更新頻度が低いと、「新しい商品が売れたのに、商品マスタに存在しないためグラフがおかしくなる」という不整合が起きます。マスタの更新頻度に合わせて、適切な更新スケジュールを組む必要があります。
③ 行レベルセキュリティ(RLS)が複雑化する
アクセス権限によって見せるデータを変える「RLS」を設定している場合、インポート時とDirectQuery時でセキュリティの挙動が変わる可能性があります。権限設定が厳密なプロジェクトでは、事前に十分なテストを行ってください。
5. まとめ:データモデル設計は「一生モノ」のスキル
Power BIのデュアルモードは、コンポジットモデルという高度なレポート設計において、パフォーマンスと使い勝手を両立させるための必須テクニックです。
「巨大データはDirectQuery」「小さなマスタはデュアル」「独立したデータはインポート」。この鉄則を理解して使い分けるだけで、ダッシュボードの表示速度は劇的に改善し、閲覧するユーザーのストレスをゼロにすることができます。
しかし、データモデルの設計(モデリング)は、Power BIの中で最も奥が深く、独学で習得するのが難しい領域でもあります。
-
「自分の作っているレポートの設計が、本当に正しいのか自信がない」
-
「データ量が増えてきて、最近レポートの動きがもっさりしている」
-
「コンポジットモデルやデュアルモードを実務にどう組み込めばいいか分からない」
もしあなたが今、このような壁にぶつかっているなら、一度プロの設計手法を体系的に学んでみませんか?
私たちのPower BI実践セミナーでは、表面的なグラフの作り方だけでなく、レポートのパフォーマンスを決定づける「裏側のデータモデル設計」から「最適なストレージモードの選択」まで、実務に直結するノウハウをハンズオンで徹底的にお伝えします。
▼ 独学の壁を越え、Power BIマスターへ。セミナー詳細はこちら
コメント