商品・ディメンションテーブル
概要
商品・ディメンションテーブルは、商品に関する属性を管理するテーブルです。
このテーブルでは、商品 ID、商品名、ブランド名などの基本的な商品情報に加え、親子関係のある商品構造や消費税率、商品タイプなどの属性も管理します。これにより、商品の階層構造を考慮した分析や、商品タイプごとの集計などが可能になります。
物理レイヤー
1. dim_product
基本情報
dim_product:
description: "商品・ディメンションテーブル"
location: "BigQuery"
full_name: "enterprise-dw-376005.mart.dim_product"
surrogate_key: "product_key"
primary_keys: ["tenant_id", "product_id"]
カラム
1. product_key
- 日本語名: 商品キー
- データ型:
string - 説明:
tenant_idとproduct_idを組み合わせたサロゲートキー。ハッシュ関数(MD5)を使用して生成。結合キーとして使用する。
度数分布表
select
product_key,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| product_key | record_count |
|---|---|
| 00000000000000000000000000000000 | 1 |
| 000a76288b8772400d8135ea33d82741 | 1 |
| 000af53a3608741404e784a0146c8e9b | 1 |
| 003ffe132e5ec7f83254a0b32f5fbc14 | 1 |
| 0050657f539f99b3e3d1f2d7a3905319 | 1 |
| 006337e57f52b6477f2a022bd091e5e2 | 1 |
| 006871d578f10dd8b7f06d77058c0bd8 | 1 |
| 008ec2919c7be5454637cebbe2366166 | 1 |
| 0097f2be63ceffbb7676eb7b31aedd26 | 1 |
| 00a61fc0cf22405600e56c9fea5846ad | 1 |
2. tenant_id
- 日本語名: テナント ID
- データ型:
string - 説明: テナント ID。
度数分布表
select
tenant_id,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| tenant_id | record_count |
|---|---|
| from | 1181 |
| hugkumi | 1114 |
| taisho | 581 |
| bris | 467 |
| esella | 411 |
| karelcapek | 219 |
| minawa | 167 |
| almado | 123 |
| shinnihon | 116 |
| riceforce | 104 |
3. product_id
- 日本語名: 商品 ID
- データ型:
string - 説明: 商品 ID。Amazon の子 ASIN、楽天は商品 ID。
度数分布表
select
product_id,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| product_id | record_count |
|---|---|
| 2024_fk_chooralset | 2 |
| 2024_fk_ibuki_shuchu | 2 |
| 2024_fk_ibuki_zeitaku | 2 |
| 2024_fk_kenkouset | 2 |
| 2024_fk_nneset_lb | 2 |
| 2024_fk_nneset_nt | 2 |
| 2024_fk_oralmixset | 2 |
| 2024_fk_oralset | 2 |
| 2024_fk_suiminset | 2 |
| 2024_fk_tansancle_shuchu | 2 |
4. parent_product_id
- 日本語名: 親商品 ID
- データ型:
string - 説明: 親商品 ID。商品の階層構造を表現するために使用する。
度数分布表
select
parent_product_id,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| parent_product_id | record_count |
|---|---|
| 01100920r | 16 |
| shiborimax_n | 16 |
| r_creamshampoo_n | 9 |
| r1659 | 8 |
| r_creamshampoo_n-m | 8 |
| r_hairessenceoil_n | 8 |
| bubbly_set | 7 |
| r_creamshampoo_3set | 7 |
| bubbly_set_t | 6 |
| limited_001 | 6 |
5. child_product_id
- 日本語名: 子商品 ID
- データ型:
string - 説明: 子商品 ID。商品の階層構造を表現するために使用する。
度数分布表
select
child_product_id,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| child_product_id | record_count |
|---|---|
| normal-inventory | 34 |
| pulmake_n | 7 |
| sarafine_n | 7 |
| r2015 | 6 |
| wakan_n | 6 |
| yurashi_np | 6 |
| crystabrightserum_n | 5 |
| rt_tp_n | 5 |
| dairy1_n1 | 4 |
| r1514 | 4 |
6. product_name
- 日本語名: 商品名
- データ型:
string - 説明: 商品名。
度数分布表
select
product_name,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| product_name | record_count |
|---|---|
| cocone クレイクリームシャンプー | 270 |
| Daily1 | 147 |
| b.ris airy coloring foam | 79 |
| b.ris organic sparkling shampoo | 79 |
| FUWARI | 75 |
| リポビタン D | 74 |
| NNE ファンデーション | 73 |
| サラフィネ | 73 |
| PURURI | 72 |
| フレピュア | 64 |
7. product_brand
- 日本語名: ブランド名
- データ型:
string - 説明: ブランド名。
度数分布表
select
product_brand,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| product_brand | record_count |
|---|---|
| フロムココロ | 1169 |
| taisho | 577 |
| cocone | 546 |
| konome | 435 |
| b.ris | 403 |
| KARELCAPEK(カレルチャペック) | 219 |
| minawa | 167 |
| NNE | 146 |
| almado | 123 |
8. tax_rate_string
- 日本語名: 消費税率
- データ型:
string - 説明: 消費税率。
度数分布表
select
tax_rate_string,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| tax_rate_string | record_count |
|---|---|
| 10% | 3813 |
| null | 766 |
| 8% | 760 |
9. bundle_type
- 日本語名: 商品タイプ
- データ型:
string - 説明: 商品タイプ。
度数分布表
select
bundle_type,
count(*) as record_count
from `enterprise-dw-376005.mart.dim_product`
group by 1
order by 2 desc
limit 10
| bundle_type | record_count |
|---|---|
| 単品商品 | 4574 |
| セット商品 | 764 |
| null | 1 |
ER 図
🚧 サンプル SQL
論理レイヤー
1. product_dimension
基本情報
product_dimension:
description: "商品・ディメンションテーブル"
location: "dbt Semantic Layer"
primary_key: "product_key"
foreign_keys: null
agg_time_dimension: null
ディメンショナル属性
1. product_id
- 日本語名: 商品 ID
- データ型:
categorical - 説明: 商品 ID。
2. parent_product_id
- 日本語名: 親商品 ID
- データ型:
categorical - 説明: 親商品 ID。商品の階層構造を表現するために使用する。
3. child_product_id
- 日本語名: 子商品 ID
- データ型:
categorical - 説明: 子商品 ID。商品の階層構造を表現するために使用する。
4. product_name
- 日本語名: 商品名
- データ型:
categorical - 説明: 商品名。
5. product_brand
- 日本語名: ブランド名
- データ型:
categorical - 説明: ブランド名。
6. tax_rate_string
- 日本語名: 消費税率
- データ型:
categorical - 説明: 消費税率。
7. bundle_type
- 日本語名: 商品タイプ
- データ型:
categorical - 説明: 商品タイプ。
メジャー属性
なし
メトリクス
なし
ER 図
2. first_product_dimension
基本情報
first_product_dimension:
description: "初回商品・ロールプレイング・ディメンションテーブル"
location: "dbt Semantic Layer"
primary_key: "first_product_key"
foreign_keys: null
agg_time_dimension: null
ディメンショナル属性
1. first_product_id
- 日本語名: 初回商品 ID
- データ型:
categorical - 説明: 初回商品 ID。
2. first_parent_product_id
- 日本語名: 初回親商品 ID
- データ型:
categorical - 説明: 初回親商品 ID。
3. first_child_product_id
- 日本語名: 初回子商品 ID
- データ型:
categorical - 説明: 初回子商品 ID。
4. first_product_name
- 日本語名: 初回商品名
- データ型:
categorical - 説明: 初回商品名。
メジャー属性
なし
メトリクス
なし