Microsoft Fabric Advent Calendar 2024の1日目の記事です。
はじめに
前提
この記事はPower BIのセマンティック モデル開発者の視点から書いたもの。Fabricはペルソナが多すぎるので念のため。
また、Power BI関連スキル(Power QueryやDAX等)はあるものの、Pythonや(Select以外の)SQLはあまり使えない前提で(私の会社にそんな人があまりいないから)。
目的
機能紹介というより、会社でFabricをどう活用できそうかに焦点を当てた記事。
また、現時点での理解を書き留めるもの。後で見返したときの自分の成長のためだったりするので、ほぼポエムなのは毎度のこと。
Power BIだけではデータ分析基盤を整備できないよね
データ分析基盤が欲しい
BIによるデータ活用は、 ①ETL(データの前処理) 、 ②データ モデリング (メジャーやリレーションシップの定義といったセマンティック モデルの作成)、 ③可視化 (レポート作成)の3ステップ。データ分析基盤は、①ETLをもっと拡張して、組織のデータ活用をさらに進めようというもの。(もちろん、どう使われるかは後回しにしてデータ分析基盤をとりあえず作るというアプローチもある)
ぶっちゃけ、みんなが便利に(&セキュアに)使えるデータの置き場所ができれば目標達成とも言える。
Power BIのデータの置き場所
Power BIのデータの置き場所としては、セマンティック モデルまたはデータフローがある。
セマンティック モデル の場合
- ビジュアル化しなければデータを取り出せない。つまり、データそのものを取り出すのは無理。データは必ず集約されるため。
- インデックス列を追加して無理やり生データを取り出すことも可能だが、モデルのサイズが肥大化する上、インタラクティブ処理なので高コスト(Capacity契約の場合)。
- BI(とExcelのソース)以外にはちょっと使えないよねというのが結論
データフロー の場合
- セマンティック モデルと異なり、データそのものを取り出すことは可能。
- しかもバックグラウンド処理なので低コスト(Capacity契約の場合)
- なんかちょっと良さげではある
ページ分割されたレポート の場合
まだ使ったことがないからわからない、以上。
(明細出力可能で、バックグラウンド処理らしい)
データフローが良さげだけど、以下が問題:
- データの取り出しにはPower Queryが必要になるので、PythonやSQLでは使えない
- 生データ(非構造化データ等)をそのまま保管できるわけではない
- 必ずコピーしなければならない
- データの置き場所以前にBI以外の機能がない。統計分析/AI分析とか。
当たり前だけど、Power BIはデータ可視化のためのツールなので、それだけではデータ分析基盤を構築することはできない。Power Queryによる強力なETLは、あくまで雑然データだらけの(=データ分析基盤が無い)現実に対応するもの。
それでもFabricなら… Fabricならきっと何とかしてくれる…‼
Fabricが何とかしてくれるのは:
- Pythonなどからも利用可能な一般的なデータベースとして利用可能(LakehouseやData Warehouse)
- 生データでも保存可能(Lakehouse)
- ミラーリング、コピージョブ、ショートカットなど多彩なデータ連携。データフローもGen2となりパワーアップ!
- BI以外のワークロード(ノートブックによる統計/AI分析、リアルタイム処理)
- 他にもいろいろ(書き下してみると改めてすごいと思った)
a. OSS活用
b. DatabrickやSnowflakeなど他のサービスとの相互運用
c. Apache Sparkによる高速な前処理
d. Git統合
e. Purview統合によるデータ管理(コンプライアンス、カタログ化)
f. Copilotによる支援
g. これらすべてを統合ソリューションとして提供
何かいろいろあるけど、やっぱりデータフロー Gen2があるので、Power BI勢が最小の追加学習コストで入れるのがうれしい。(もちろん、他の機能を使いこなすに越したことはないが)
Fabric導入に向けて
とここまで書いたけれど、まだ会社にFabricを導入できていない。じゃあ、今後どうしていきたいかを書いて締める。
- まずはBIを普及。Excel全盛(手作業 or VBA)の会社のデータ活用状況を改善。BIが活用されれば、データ利用側のニーズは大体満たせるし。
- データ分析基盤はその後ろ側。いかにBIを効率よく作れるかの仕組み。
- 前処理の効率化として、データフローによる共通化を進める。
- さらに、データフローをドメイン間のデータ相互運用にも活用する。
- データフローに慣れたところで、Fabricのデータフロー Gen2へ徐々に移行。
うーん、来年どこまで進められるものか。人材育成も気長に続けないといけないし、先は長いなぁ。。
まあ、いろいろ大変だけど、ジェバンニが一晩でやってくれると信じて、今日はもう寝よう。