最近、実際に仕事で手にするデータをもとにPower BIでレポート作成しようとするとほぼ必ずモデリングで躓きます。Power BIについて学んでいると、データモデリングのベストプラクティスはスタースキーマで、そのスタースキーマのベストプラクティスは一つのFactテーブルと、一つ以上のDimensionテーブルに分類すべき、というような文言をよく耳にします。が、FactテーブルとDimensionテーブルの見分け方などよく悩むので、自分への備忘録がてら学んだ記録をここに記してみました。(が、結局悩みを披露しただけで、Advent calendarの期日までに理解が間に合わなかったものもあるのですが、すみません!!)
私がよく悩むこと
私がよく悩むポイントは以下の通りです。
①そもそも手元のテーブルがFactテーブルなのかDimensionテーブルなのか迷う
②Dimensionテーブルがない
③Dimensionテーブルが少しずつ増えている
Microsoft Learnや色々な記事などを読んでもわかったようでわからないな~思っていたのですが、先日のPower BI勉強会でのPeter Myersさんのお話やYouTubeの動画やQiitaの記事で少し腹落ちしたことがあったので、その事を記載します。
悩み①:そもそも手元のテーブルがFact tableなのかDimension tableなのか迷う
数値で集計したいデータがあるのがFactテーブル、そうでないものはDimension テーブルと見分けるのがよいそうです。
たまにDimensionテーブルでもデータが増えていくものがあるので、Factテーブルか?と思ってしまうこともあったのですが、私はこの説明で腹落ちしました!
悩み②:Dimensionテーブルがない
Dimensionテーブルが毎回整った形で用意されているわけではない現実があります。Dimensionテーブル、用意しないままレポート作っていた時がありましたが、Yugoさんの記事などを読むとデータモデリングとしてはフィルターしたいデータをFactテーブルから抜き出し、ちゃんとDimensionテーブルとしてテーブルを作るのがよさそうです。
悩み③:Dimensionテーブルの値が少しずつ増えている
でもやっぱり製品マスターや人事マスターなど、少しずつ値が増えていくDimensionテーブルがあり、扱いに困ることがよくあります。まだ腹落ちできていないのですが、下記の動画などで説明されていそうなので、冬休みの宿題にすることにしました!
間に合わなくてすみません!いつか更新します!