【发布时间】:2018-11-20 01:02:33
【问题描述】:
我正在努力弄清楚如何将事务数据库中的一对多表结构转换为数据仓库的一对一维度。
事务数据库中的数据结构如下:
根记录(Parent_ID)
查找表“许多 Parent_ID”(Patent_ID、Child_ID)
参考表(Child_ID、姓名)
加入我的参考表会带回一个如下所示的数据集:
╔═════════════╦═══════════╦══════════╦════════════╗
║ Root_ID ║ Root_Code ║ Child_ID ║ Child_Name ║
╠═════════════╬═══════════╬══════════╬════════════╣
║ 1 ║ 1000 ║ 22 ║ Name 1 ║
║ 1 ║ 1000 ║ 23 ║ Name 2 ║
║ 1 ║ 1000 ║ 24 ║ Name 3 ║
║ 1 ║ 1000 ║ 25 ║ Name 4 ║
║ 2 ║ 1150 ║ 67 ║ Name 5 ║
║ 2 ║ 1150 ║ 68 ║ Name 6 ║
║ 2 ║ 1150 ║ 69 ║ Name 7 ║
║ 3 ║ 2019 ║ 11 ║ Name 8 ║
║ 3 ║ 2019 ║ 12 ║ Name 9 ║
║ 5 ║ 2010 ║ 91 ║ Name 10 ║
║ 5 ║ 2010 ║ 92 ║ Name 11 ║
║ 5 ║ 2010 ║ 93 ║ Name 12 ║
║ 5 ║ 2010 ║ 94 ║ Name 13 ║
║ 5 ║ 2010 ║ 95 ║ Name 14 ║
║ 5 ║ 2010 ║ 96 ║ Name 15 ║
║ 6 ║ 5010 ║ 33 ║ Name 16 ║
╚═════════════╩═══════════╩══════════╩════════════╝
我在维度中追求的是知道,Root_ID (1) 具有 Child_ID(22,23,24,25) 的值,并且能够使用维度上生成的键来引用它。
请记住,我永远无法预测会有多少子记录, 所以在我的维度中创建 X 列不是一种选择。
我确信比我聪明的数据仓库头脑知道这通常是如何处理的。
为了说明想要的结果:
事实记录(Dimension_Root_Key = 1)
维度(键 1、名称 1、名称 2、名称 3、名称 4)
【问题讨论】:
标签: data-warehouse dimensional-modeling snowflake-cloud-data-platform