数据建模:事实表、维度表与缓慢变化维度解析
1. 多货币处理与事实表设计
在处理多货币交易时,需要将交易值转换并存储为单一的全球货币。同时,用于将本地货币交易值转换为全球货币的汇率也会存储在事实表中。以产品销售事实表为例,需要添加一个货币键列,用于记录交易发生时的货币。该键列与存储货币名称的货币维度表相关联。
以下是产品销售事实表需要添加的额外列:
| 列名 | 数据类型 | 描述 | 示例值 |
| -------------- | -------- | ------------------------------------------------------------ | ------ |
| currency_key | int | 交易发生时所用货币的键 | 3 |
| unit_price_usd | money | 以美元计价的所购产品的单价 | 6.10 |
| unit_cost_usd | money | 以美元计价的产品的直接和间接成本 | 5.20 |
| sales_value_usd | money | 数量乘以单价,以美元计价 | 12.20 |
| sales_cost_usd | money | 数量乘以成本,以美元计价 | 10.40 |
| margin_usd | money | 销售值减去销售成本,以美元计价 | 1.80 |
| currency_rate | money | 本地货币与美元之间的汇率 | 1.97 |
2. 维度表概述
维度表包含各种属性,用于解释事实表中的维度键。事实表存储业务事件,而维度表中的属性则解
超级会员免费看
订阅专栏 解锁全文
842

被折叠的 条评论
为什么被折叠?



