Shikata Ga Nai

Private? There is no such things.

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

Hello there, ('ω')ノ

ディメンションテーブル(Dimension Table) とは、データウェアハウスやOLAP(オンライン分析処理)において、ファクトテーブル(Fact Table)を補助し、分析の軸(ディメンション)を提供するテーブルのことです。


ディメンションテーブルの特徴

  1. 分析のための属性情報を持つ

    • 例: 「製品」「地域」「顧客」など、ビジネスの視点でデータを分類する要素を含む。
  2. 主キー(Primary Key)を持つ

    • 一意の識別子(例: product_idcustomer_id)を持ち、ファクトテーブルと結合(JOIN)される。
  3. 冗長性がある(非正規化されていることが多い)

    • 分析を高速化するため、ある程度のデータの重複を許容する。
  4. ファクトテーブルとリレーションを持つ

    • ファクトテーブルの外部キー(Foreign Key) とディメンションテーブルの主キーを結びつける。

ディメンションテーブルとファクトテーブルの違い

項目 ディメンションテーブル ファクトテーブル
目的 分析の軸となる情報を保持 数値データ(売上、件数など)を保持
データの種類 文字列やカテゴリ情報(製品名、地域など) 数値(売上、利益、注文数など)
主キー 一意の識別子(例: product_id 複数の外部キーの組み合わせ(複合キーのことが多い)
正規化の度合い 非正規化が多い 正規化されることが多い

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

1. 顧客ディメンションテーブル(Customer Dimension)

customer_id customer_name country age_group
101 山田太郎 日本 30-39
102 John Smith アメリカ 40-49
103 Alice Brown イギリス 20-29

2. 製品ディメンションテーブル(Product Dimension)

product_id product_name category brand
201 スマートフォンX モバイル ブランドA
202 ノートPC Y パソコン ブランドB

ディメンションテーブルの活用例

例えば、売上データ(ファクトテーブル)とディメンションテーブルを組み合わせて、以下のような分析が可能になります。

売上ファクトテーブル

transaction_id customer_id product_id sales_amount date
1001 101 201 50,000円 2024-01-01
1002 102 202 120,000円 2024-01-02

このファクトテーブルを、顧客ディメンションテーブルと製品ディメンションテーブルと結合(JOIN)すると、「どの国のどの顧客が、どのカテゴリーの製品を購入したか」 という詳細な分析が可能になります。


結論

ディメンションテーブルは、分析の軸となる情報(製品、顧客、地域など)を持つテーブルであり、ファクトテーブルと結合することでビジネスデータの分析を容易にする。

Best regards, (^^ゞ