QlikViewからPower BIへ:現場発アプリを全社基盤へ移行する手順

目次
QlikViewは、現場の担当者が自分でアプリを作り、すぐに分析できる柔軟性で長く支持されてきました。その一方で、年月が経つと部門ごとに似たようなQVWファイルが増え、作成者しか中身を理解できない「属人化」が課題になりがちです。移行は、この状態を整理し直す絶好の好機となります。
ただし、QlikViewとPower BIはデータの持ち方の根本思想が異なります。Qlikは「連想モデル」で選択した値に関連するデータのみを残す仕組みですが、Power BIはリレーションシップに基づくスタースキーマモデルです。この違いを理解せずに画面だけを再現すると、「選択時の挙動が違う」という不満が生じます。本ガイドでは7つのステップで実践的な進め方を紹介します。Pulse Convert(開発:Office Solution AI Labs)を活用することで、移行にかかる手作業の大幅な削減が可能です。
想定シナリオ
本シナリオは、エンタープライズ企業における典型的なQlikView移行プロジェクトをモデル化しています:
- 移行対象 : 約200のダッシュボード(QVW/アプリ)
- 資産の種類 : シート、式、データモデル、QVDによるデータ抽出層
- 注意が必要な要素 : Set Analysis、合成キー、循環参照、Section Access
- 複雑度(想定) : 高(エンタープライズ)
- 想定期間 : 8〜14週間
- 移行先アーキテクチャ : Microsoft Fabric(Direct Lake)、またはスタースキーマのインポートモデル
概念対応表:QlikViewからPower BI/Fabricへのマッピング
移行前にアナリストとIT間で共有すべき主要概念の対応表は以下の通りです:
| QlikView | Power BI/Fabric | 実務上のポイント |
|---|---|---|
| QVWファイル | レポート+セマンティックモデル | モデルを共有して重複を減らす |
| ロードスクリプト | Power Query、ノートブック、Dataflows Gen2 | 変換の複雑さで使い分け |
| QVD(抽出層) | OneLakeのDeltaテーブル、Lakehouse | 抽出・変換・モデルの3層を再設計 |
| Set Analysis | CALCULATE+フィルター | 式の考え方が異なる |
| AGGR関数 | SUMMARIZE、ADDCOLUMNS等の反復関数 | 粒度の指定に注意 |
| 連想モデル | スタースキーマのリレーションシップ | 選択時の動きが変わる |
| 合成キー | 正規化したディメンションとファクト | 設計し直しが必要 |
| 変数 | パラメーター、フィールドパラメーター | UIが変わる |
| リストボックス | スライサー | 「選択外の値」の見え方が異なる |
| Section Access | 行レベルセキュリティ(RLS)、Microsoft Entra | ロールの再設計 |
移行の7ステップ
アプリの棚卸しと利用実態の確認
QlikViewのサーバー(QMC)のログから、アプリごとの利用者数と最終アクセス日を集計します。作成者が異動した、または更新が停止しているアプリはアーカイブ候補とし、同一指標が別々のアプリで重複計算されていないかも洗い出します。
データ層(QVD)の整理
QVDは抽出・変換・マートの各層に分かれて使われていることが多く、依存関係が複雑化しています。どのQVDがどのアプリで利用されているかの依存関係を図式化し、OneLakeのDeltaテーブルとして再設計します。
データモデルの正規化
QlikViewで許容されていた合成キーや循環参照は、Power BIでは扱えません。ファクトテーブルとディメンションテーブルに明確に分けたスタースキーマに設計し直します。
式の変換(Set AnalysisをDAXへ)
Set AnalysisはDAXのCALCULATEとフィルター関数で表現し直します。単純な集計条件は機械的に変換できますが、AGGRを組み合わせた高度な式は粒度を整理した上で再構築します。
画面と操作性の再構成
Qlikの連想選択(緑・白・グレー)に慣れた利用者に向けて、Power BIのスライサーとクロスフィルターの挙動の違いを説明します。ドリルスルー、ブックマーク、ツールチップページを活用して必要な操作性を再現します。
セキュリティ(Section AccessからRLSへ)
Section Accessで定義していた閲覧制御を、Microsoft Entraと連携した行レベルセキュリティ(RLS)に置き換えます。権限設定は情報保護に直結するため、各部門の実ユーザーで必ず動作確認を行います。
並行稼働と切り替え
新旧環境を一定期間並行稼働させ、主要集計値を突き合わせます。利用者向けの操作ガイドと問い合わせ窓口を準備し、ライセンス更新期日から逆算して旧サーバーの停止を計画します。
5フェーズのロードマップ
移行プロジェクトを確実に成功に導く5つの実行フェーズです:
- フェーズ1:ディスカバリーと棚卸し — アプリの自動スキャン、式の棚卸し、依存関係マップを作成し、移行対象範囲と優先順位を明確化。
- フェーズ2:セマンティック層の刷新 — Qlikのメタデータをセマンティックモデルへ移行し、スタースキーマに基づいたモデルを設計。
- フェーズ3:資産の自動変換 — ダッシュボードと式を自動変換し、メジャーのマッピングを行ってレポートの初版を迅速に構築。
- フェーズ4:同等性検証とUAT — 移行元と移行先の数値および見た目を比較・検証し、業務利用に耐えうる検証済みレポートを完成。
- フェーズ5:切り替えと定着化 — Fabricへの展開とエンドユーザー教育を実施し、QlikViewを安全に停止。
よくある課題と対処法
QlikViewからPower BIへの移行時に生じやすい主要課題とその対策です:
- Set Analysisの書き直し : DAXのフィルターコンテキストで考え直す必要があるため、CALCULATEで再構成して数値を照合します。
- QVDのデータ層 : 抽出・変換層が見えにくく依存関係が複雑なため、OneLake/Deltaテーブルとして層を整理し直します。
- 合成キーと循環参照 : Power BIのモデルでは扱えないため、ファクトとディメンションを明確に分けたスタースキーマへ正規化します。
- Section Access : 権限の誤りは情報漏えいに直結するため、Microsoft Entraと連携した行レベルセキュリティ(RLS)に置き換え、実ユーザーで検証します。
- 連想モデルに慣れた利用者 : 選択時の操作感が変わるため、事前説明会と操作ガイドの提供でスムーズな移行を促します。
- アプリの乱立 : 移行後に同様の属人化や乱立が再発しないよう、全社共通モデルと認定データセットの運用ルールを整備します。
Pulse Convertで移行を加速する
Pulse Convertは、QlikView/Qlik Senseのシート、式、データモデルのマッピングを自動で変換します。QVDデータパイプラインとアプリも対象です。自動変換の精度は、アプリの複雑さに応じて70〜90%と想定され、手作業を70〜80%削減することで、合成キーの解消や権限設計など判断が必要な重要領域に集中できます。
| 作業項目 | 手作業での進め方 | Pulse Convertを使う場合 |
|---|---|---|
| アプリの棚卸し | ログ確認とヒアリング | 自動スキャンと依存関係の可視化 |
| シート・式の変換 | 1つずつ手作業で書き直し | 自動変換とメジャーのマッピング |
| データモデルマッピング | 手作業で再設計 | モデルマッピングの自動化支援 |
| 数値の同等性確認 | 手作業のサンプル照合 | 移行元と移行先の構造化された自動比較 |
| 複雑なSet Analysis | すべて手作業で解析 | チームが例外ロジックに集中 |
切り替え前のチェックリスト
本番切り替え前に以下の必須確認項目がすべて完了していることを確認します:
- ✓ 集計値の完全一致 : 主要な集計値・メジャー計算結果がQlikViewと一致している。
- ✓ Set Analysis検証 : 複雑なSet Analysisを複数のエッジケースで検証した。
- ✓ モデル正規化完了 : 合成キー・循環参照がすべて解消されスタースキーマ化されている。
- ✓ RLSテスト完了 : 行レベルセキュリティを各部門の実ユーザーで確認した。
- ✓ QVDからDelta移行 : QVD依存関係が整理され、DeltaテーブルがFabric上に配置されている。
- ✓ 操作ガイド配布 : エンドユーザー向け操作ガイドと変更点説明会が実施されている。
よくある質問(FAQ)
まずはQlikView資産のサンプルで試してみませんか
自社のQlikViewアプリのうち、どの程度が自動変換可能かをサンプルワークブックで事前検証できます。最短でリスクのない移行計画策定をご支援します。