0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スタースキーマを理解する

Posted at

記事執筆の動機

PowerBIを使用する際に、「なんとなくリレーションを組んでいたら、スタースキーマっぽくなった」から脱却するために、スタースキーマについて適切に言語化ができるようになりたくて執筆しました。

ファクトテーブルとは

Microsoftではファクトテーブルを以下の通り記載しています。

ファクト テーブルには観測値やイベントが格納されます。ファクト テーブルには、販売注文、在庫量、為替レート、気温などがあります。ファクト テーブルには、ディメンション テーブルに関連するディメンション キー列と、数値メジャー列が含まれています。

参考 : スタースキーマとPower BIでの重要性を理解する

何度読んでもイメージしにくいですが、私は「メインで分析したいデータ」と理解しました。
具体的には、明細データやトランザクションデータなどが該当するかと思います。基本的には、日付(or時間)の列が含まれることが多いように感じます。

ファクトテーブルの具体例

OrderID Date ProductID Units
0001 2024-01-01 AAA 10
0002 2024-01-01 BBB 7
0003 2024-01-02 CCC 32
0004 2024-01-10 DDD 9
0005 2024-02-01 AAA 16
0006 2024-03-31 DDD 2

ファクトテーブルの特徴

またファクトテーブルは以下の特徴を持ちます。

  • ファクトテーブルは別のファクトテーブルを参照することはなく、ディメンジョンテーブルのみを参照する
  • ファクトテーブルのエントリは更新されず、追記しかされない

ディメンジョンテーブルとは

Microsoftではファクトテーブルを以下の通り記載しています。

ディメンション テーブルでは、ビジネス エンティティ (モデル化の "対象") について説明します。 エンティティには、時間自体を含め、製品、人、場所および概念を含めることができます。 スター スキーマに存在する最も一貫性のあるテーブルは、日付ディメンション テーブルです。 ディメンション テーブルには、一意の識別子として機能する 1 つのキー列 (または複数の列) と説明列が含まれています。

参考 : スタースキーマとPower BIでの重要性を理解する

いやわからん。笑
何度読んでもわからなかったです笑

ディメンジョンテーブルは基本的にはマスタデータと理解して問題ないと思います。
特徴として、ファクトテーブルと比較して、列が多く行が少ないデータ形式になっていることが多いです。

スタースキーマに存在する最も一貫性のあるテーブルは、日付ディメンションテーブルであるとのことですので、日付のディメンジョンテーブルの例を見てみましょう。

ディメンジョンテーブルの例

Date Year Month Day Quarter Day-of-Week
2024-01-01 2024 1 1 1
2024-01-02 2024 1 2 1
2024-01-03 2024 1 3 1
2024-01-04 2024 1 4 1
2024-01-05 2024 1 5 1
2024-01-06 2024 1 6 1

このように、日付に対して、さまざまな情報を付加してくれるマスタデータのようなイメージです。

スタースキーマとは

Microsoftではスタースキーマを以下の通り記載しています。

スター スキーマは、リレーショナル データ ウェアハウスで広く採用されている成熟したモデリング手法です。 モデラーは、モデル テーブルを "ディメンション" または "ファクト" として分類する必要があります。

参考 : スタースキーマとPower BIでの重要性を理解する

イメージできるでしょうか?
スタースキーマとは、ファクトテーブルとディメンジョンテーブルを統合したものです。
私が提示したファクトテーブルとディメンジョンテーブルの例では、「Date」列をキーとして、データを統合することができます。PowerBIを使用する際には、「Date」列をキーとしてリレーションを組むことによって、統合することができます。以下の図が今回のリレーションを可視化したものになります。
スクリーンショット 2024-10-14 23.36.04.png

スタースキーマの特徴

  • 1つのスタースキーマにつき、1つのファクトテーブルしか持てない
  • ディメンジョンの数は可能な限り減らすようにする

まとめ

  • スタースキーマとは、ファクトテーブルとディメンジョンテーブルを統合したもの
  • 1つのスタースキーマにつき、ファクトテーブルは1つまで
  • ファクトテーブルはメインデータ、ディメンジョンテーブルはマスタデータのイメージ

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?