Entity fact_sales
One row per sold line item.
Stereotype: fact
Subject areas: Sales Star
Attributes
| # | Name | Type | Null | Default | Key | Terms | Description |
|---|---|---|---|---|---|---|---|
| 1 | sales_key | bigint | no | PK | |||
| 2 | date_key | integer | no | FK | |||
| 3 | customer_key | integer | no | FK | |||
| 4 | product_key | integer | no | FK | |||
| 5 | store_key | integer | no | FK | |||
| 6 | quantity | integer | no | ||||
| 7 | gross_amount | domain measure (decimal(18, 4)) | no | 0 | |||
| 8 | discount_amount | domain measure (decimal(18, 4)) | no | 0 | |||
| 9 | net_amount | domain measure (decimal(18, 4)) | no | 0 | |||
| 10 | tax_amount | domain measure (decimal(18, 4)) | no | 0 |
Keys
| Kind | Name | Attributes |
|---|---|---|
| primary | pk_fact_sales | sales_key |
Relationships
| Name | Role | Other entity | Cardinality | Attributes | Identifying | On delete | On update |
|---|---|---|---|---|---|---|---|
| fact_sales_customer | child | dim_customer | one to many | fact_sales.customer_key -> dim_customer.customer_key | no | no_action | no_action |
| fact_sales_date | child | dim_date | one to many | fact_sales.date_key -> dim_date.date_key | no | no_action | no_action |
| fact_sales_product | child | dim_product | one to many | fact_sales.product_key -> dim_product.product_key | no | no_action | no_action |
| fact_sales_store | child | dim_store | one to many | fact_sales.store_key -> dim_store.store_key | no | no_action | no_action |
Physical
bq (bigquery): public.fact_sales
One row per sold line item.
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
|---|---|---|---|---|---|---|---|---|
| 1 | sales_key | int64 | no | sales_key | ||||
| 2 | date_key | int64 | no | date_key | ||||
| 3 | customer_key | int64 | no | customer_key | ||||
| 4 | product_key | int64 | no | product_key | ||||
| 5 | store_key | int64 | no | store_key | ||||
| 6 | quantity | int64 | no | quantity | ||||
| 7 | gross_amount | numeric(18, 4) | no | 0 | gross_amount | |||
| 8 | discount_amount | numeric(18, 4) | no | 0 | discount_amount | |||
| 9 | net_amount | numeric(18, 4) | no | 0 | net_amount | |||
| 10 | tax_amount | numeric(18, 4) | no | 0 | tax_amount |
- primary key pk_fact_sales (sales_key)
- foreign key fk_fact_sales_dim_customer (customer_key) references dim_customer (customer_key)
- foreign key fk_fact_sales_dim_date (date_key) references dim_date (date_key)
- foreign key fk_fact_sales_dim_product (product_key) references dim_product (product_key)
- foreign key fk_fact_sales_dim_store (store_key) references dim_store (store_key)
- index ix_fact_sales_fact_sales_customer (customer_key)
- index ix_fact_sales_fact_sales_date (date_key)
- index ix_fact_sales_fact_sales_product (product_key)
- index ix_fact_sales_fact_sales_store (store_key)
dbx (databricks): default.fact_sales
One row per sold line item.
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
|---|---|---|---|---|---|---|---|---|
| 1 | sales_key | bigint | no | always | sales_key | |||
| 2 | date_key | int | no | date_key | ||||
| 3 | customer_key | int | no | customer_key | ||||
| 4 | product_key | int | no | product_key | ||||
| 5 | store_key | int | no | store_key | ||||
| 6 | quantity | int | no | quantity | ||||
| 7 | gross_amount | decimal(18, 4) | no | 0 | gross_amount | |||
| 8 | discount_amount | decimal(18, 4) | no | 0 | discount_amount | |||
| 9 | net_amount | decimal(18, 4) | no | 0 | net_amount | |||
| 10 | tax_amount | decimal(18, 4) | no | 0 | tax_amount |
- primary key pk_fact_sales (sales_key)
- foreign key fk_fact_sales_dim_customer (customer_key) references dim_customer (customer_key)
- foreign key fk_fact_sales_dim_date (date_key) references dim_date (date_key)
- foreign key fk_fact_sales_dim_product (product_key) references dim_product (product_key)
- foreign key fk_fact_sales_dim_store (store_key) references dim_store (store_key)
- index ix_fact_sales_fact_sales_customer (customer_key)
- index ix_fact_sales_fact_sales_date (date_key)
- index ix_fact_sales_fact_sales_product (product_key)
- index ix_fact_sales_fact_sales_store (store_key)
mysql (mysql): warehouse.fact_sales
One row per sold line item.
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
|---|---|---|---|---|---|---|---|---|
| 1 | sales_key | bigint | no | by_default | sales_key | |||
| 2 | date_key | int | no | date_key | ||||
| 3 | customer_key | int | no | customer_key | ||||
| 4 | product_key | int | no | product_key | ||||
| 5 | store_key | int | no | store_key | ||||
| 6 | quantity | int | no | quantity | ||||
| 7 | gross_amount | decimal(18, 4) | no | 0 | gross_amount | |||
| 8 | discount_amount | decimal(18, 4) | no | 0 | discount_amount | |||
| 9 | net_amount | decimal(18, 4) | no | 0 | net_amount | |||
| 10 | tax_amount | decimal(18, 4) | no | 0 | tax_amount |
- primary key pk_fact_sales (sales_key, date_key)
- index ix_fact_sales_customer (customer_key)
- index ix_fact_sales_date (date_key)
- index ix_fact_sales_product (product_key)
- index ix_fact_sales_store (store_key)
Partitioned by hash (date_key): p0, p1, p2, p3
pg (postgresql): dw.fact_sales
One row per sold line item.
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
|---|---|---|---|---|---|---|---|---|
| 1 | sales_key | bigint | no | always | sales_key | |||
| 2 | date_key | integer | no | date_key | ||||
| 3 | customer_key | integer | no | customer_key | ||||
| 4 | product_key | integer | no | product_key | ||||
| 5 | store_key | integer | no | store_key | ||||
| 6 | quantity | integer | no | quantity | ||||
| 7 | gross_amount | numeric(18, 4) | no | 0 | gross_amount | |||
| 8 | discount_amount | numeric(18, 4) | no | 0 | discount_amount | |||
| 9 | net_amount | numeric(18, 4) | no | 0 | net_amount | |||
| 10 | tax_amount | numeric(18, 4) | no | 0 | tax_amount |
- primary key pk_fact_sales (sales_key, date_key)
- foreign key fk_fact_sales_customer (customer_key) references dim_customer (customer_key)
- foreign key fk_fact_sales_date (date_key) references dim_date (date_key)
- foreign key fk_fact_sales_product (product_key) references dim_product (product_key)
- foreign key fk_fact_sales_store (store_key) references dim_store (store_key)
- index ix_fact_sales_customer (customer_key)
- index ix_fact_sales_date (date_key)
- index ix_fact_sales_date_store (date_key, store_key desc) using btree include (net_amount) where quantity > 0
- index ix_fact_sales_product (product_key)
- index ix_fact_sales_store (store_key)
Partitioned by range (date_key): fact_sales_2024, fact_sales_2025
rs (redshift): public.fact_sales
One row per sold line item.
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
|---|---|---|---|---|---|---|---|---|
| 1 | sales_key | bigint | no | always | sales_key | |||
| 2 | date_key | integer | no | date_key | ||||
| 3 | customer_key | integer | no | customer_key | ||||
| 4 | product_key | integer | no | product_key | ||||
| 5 | store_key | integer | no | store_key | ||||
| 6 | quantity | integer | no | quantity | ||||
| 7 | gross_amount | numeric(18, 4) | no | 0 | gross_amount | |||
| 8 | discount_amount | numeric(18, 4) | no | 0 | discount_amount | |||
| 9 | net_amount | numeric(18, 4) | no | 0 | net_amount | |||
| 10 | tax_amount | numeric(18, 4) | no | 0 | tax_amount |
- primary key pk_fact_sales (sales_key)
- foreign key fk_fact_sales_dim_customer (customer_key) references dim_customer (customer_key)
- foreign key fk_fact_sales_dim_date (date_key) references dim_date (date_key)
- foreign key fk_fact_sales_dim_product (product_key) references dim_product (product_key)
- foreign key fk_fact_sales_dim_store (store_key) references dim_store (store_key)
- index ix_fact_sales_fact_sales_customer (customer_key)
- index ix_fact_sales_fact_sales_date (date_key)
- index ix_fact_sales_fact_sales_product (product_key)
- index ix_fact_sales_fact_sales_store (store_key)
snow (snowflake): public.fact_sales
One row per sold line item.
| # | Name | Type | Null | Default | Identity | Collation | Attribute | Comment |
|---|---|---|---|---|---|---|---|---|
| 1 | sales_key | number(19, 0) | no | always | sales_key | |||
| 2 | date_key | number(10, 0) | no | date_key | ||||
| 3 | customer_key | number(10, 0) | no | customer_key | ||||
| 4 | product_key | number(10, 0) | no | product_key | ||||
| 5 | store_key | number(10, 0) | no | store_key | ||||
| 6 | quantity | number(10, 0) | no | quantity | ||||
| 7 | gross_amount | number(18, 4) | no | 0 | gross_amount | |||
| 8 | discount_amount | number(18, 4) | no | 0 | discount_amount | |||
| 9 | net_amount | number(18, 4) | no | 0 | net_amount | |||
| 10 | tax_amount | number(18, 4) | no | 0 | tax_amount |
- primary key pk_fact_sales (sales_key)
- foreign key fk_fact_sales_dim_customer (customer_key) references dim_customer (customer_key)
- foreign key fk_fact_sales_dim_date (date_key) references dim_date (date_key)
- foreign key fk_fact_sales_dim_product (product_key) references dim_product (product_key)
- foreign key fk_fact_sales_dim_store (store_key) references dim_store (store_key)
- index ix_fact_sales_fact_sales_customer (customer_key)
- index ix_fact_sales_fact_sales_date (date_key)
- index ix_fact_sales_fact_sales_product (product_key)
- index ix_fact_sales_fact_sales_store (store_key)