Degenerate Dimensions
A degenerate dimension is a dimension key stored directly in the fact table without a corresponding dimension table. This happens when the key itself is the only piece of information, with no additional descriptive attributes.
Example (Invoice Numbers):
An invoice number is highly useful for grouping line items back into a single transaction, but all the actual descriptive attributes (customer, date, store) have already been split into separate dimension tables.
| date_key | product_key | store_key | invoice_number | sales_amount |
|---|---|---|---|---|
| 20240101 | 102 | 55 | INV-9001-A | $1,000 |
| 20240101 | 103 | 55 | INV-9001-A | $500 |
The invoice_number is stored as text in the fact table, acting as a dimension attribute without a dedicated table.
