数据建模:事实表、维度表与缓慢变化维度
在数据建模中,处理多货币交易以及维度表的设计是至关重要的环节。下面我们将详细探讨这些内容。
多货币交易在事实表中的处理
在涉及多货币的交易场景中,需要将交易值转换并存储为单一的全球货币。同时,用于将本地货币交易值转换为全球货币的汇率也会存储在事实表中。以产品销售事实表为例,还需要一个货币键列,该列包含交易发生时所使用的货币,并且这个键列会与存储货币名称的货币维度表相关联。
为了满足事实表中的多货币需求,可以创建以下额外列:
| 列名 | 数据类型 | 描述 | 示例值 |
| — | — | — | — |
| 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 |
维度表的概念与作用
在讨论完事实表后,接下来看看维度表。维度表是包含各种属性的表,这些属性用于解释事实表中的维度键。事实表存储业务事件
超级会员免费看
订阅专栏 解锁全文

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



