最初に
日本で20年以上も愛されている、国産の超高速集計データベースであるDr.Sum
世界でも日本でも大人気のセルフサービスBIツールの代表格であるPowerBI
2022年5月のDr.Sumのアップデートモジュールにより、この2つのツールの接続が可能になりました。
2022年8月時点で Dr.Sum Ver5.6 と連携できるPower BIの製品は、次のとおりです。
Power BI Desktop
Power BI サービス
さっそく動きを見てみたくて、実際につないでみました❗️
接続設定については、こちらの記事を見てください。
PowerBI でDr.Sumにつないでみた
さて、冒頭からキャッチーなことを書いてしまっていますが、PowerBIの結合の機能が劣っているとかそういうことではございません!
システムエンジニアの観点から、データベースの加工などのデータマートをつくる領域は、UIをつくるアプリケーション層よりも、データベース層でつくる方が、メンテナンス性が向上するよ、というお話しです。
まずはその理由について、解説をさせていただこうと思います。
なぜDr.Sumのビューが良いのか
この記事を読んでいらっしゃるPowerBIユーザーの方は、全体設計のことをよくお考えになられる方だと思います。
そうでなければデータベースの必要性をなかなか感じにくいものですから・・・。
BIだけに限った話ではありませんが、ミドルウェアにはアプリケーション部分とデータベース部分があります。
アプリケーション層は現場の皆様に見えるところで、「簡単・直感的な操作」が必要になります。
データベースそうは専門知識が必要になりますが、アプリケーション側でつくる手間が省けます。
これがPowerBIのデータソース結合とDr.Sumのビューの関係にあてはまります。
上図ではPowerBI側で個別に自由にデータの加工ができますが、テーブル情報の何かが変わると、影響範囲は全ワークブックになり、メンテナンスが大変ですね。
もし、同じようにデータをくっつけるのであれば、データベース側でおこなってしまった方が、メンテナンスはとても楽になります。
そしてデータガバナンス(統治)を考えても、データに詳しい人がビューをつくり、PowerBIユーザーはそのつくられたビューを参照するようにすると、データガバナンスが効き、正しいデータを活用できることになります。
Dr.Sumのビューを見てみよう
ここまで言っておいて、Dr.Sumのビューが使いにくかったら、何の意味もありません。
使い方を解説していきましょう。
この場合ですと、T売上実績_100万件というデータを中心としたスタースキーマで、マスタ結合がおこなわれています。
結合したい項目をドラッグすると、実際に入っている値からカーディナリティを「1対多」や「多対1」、「1対1」などに自動で設定してくれます。
さすがはセルフサービスBI、ユーザー現場層に向けた製品と言えます。
ちょっとたくさんテーブルがくっついちゃっていますが、もしAccessを触ったことのある方だったら見覚えのある画面かと思います。
Accessのクエリのデザインビューに似ています。
画面真ん中で、各テーブルのキーを結合させています。
今回の場合、真ん中にあるT売上実績_100万件テーブルを中心に、各マスタを結合させています。
真ん中下のグリッドの部分は、結合した項目の中で、何を表示させるかを選択しています。
ここをいじるだけで、PowerBIに公開してもよい項目、NGな項目を選択するわけですね。
一番下はSEさん向け。
どのようなSQLになるかを解説しています。
今回のように結合が複雑な場合など、どのような結合法則になっているかを確認したりします。
このようにGUIで表現することもできますし、最初からSQLをゴリゴリ書いてビューをつくることもできます。
データベース層なので、対象はSEさんやAccessのクエリが操作できる人、となります。
しかし、ビューの作成は簡単な内容なので、少し学んでいただけたら、すぐにゴリゴリ使えるような設定かなって思います。
最後に
いかがだったでしょうか。
データの結合や加工をどこでおこなうか、これには答えはありません。
誰にとって、何が最適かというのは、その時々で考える必要があります。
PowerBIをひとりでつかうのではなくみんなで使うようになってきたときに、データの加工部分はデータベース層でおこなった方が、ハンドリングが効きやすいよ、ということを覚えてくださったら幸いです。