【发布时间】:2015-10-27 14:11:06
【问题描述】:
我一直在阅读 The Data Warehouse Toolkit 2nd Edition,最近完成了 SQL Server 分析服务课程。
这篇文章的目的是帮助我解决我遇到的设计问题
我正在尝试设计一个星型模式,它将在 SSAS 中实现并构成报告平台的基础
我们使用的基于事务的系统有以下表格/字段(带有示例虚拟数据)
“政策事实表”
- 行名称 示例数据
- 政策 ID 112
- 政策状态 X
- 成立日期 2013 年 4 月 7 日
- 续订日期 2014 年 4 月 6 日
- 政策调整计数 1
此表包含每个策略的最新策略信息,因此“策略 id”是唯一的 成立日期也是独一无二的 使用“策略 ID”和“策略调整计数”键从“策略事务事实表”复制其他信息 每次保单更新时,更新日期都会更新(这意味着对于历史,我可以从“保单事务事实表”中提取“结束日期”并添加 1 天)
“策略事务事实表”
- 行名称 示例数据
- 政策 ID 112
- 策略调整计数 1
- 开始日期 2013 年 4 月 6 日
- 结束日期 2014 年 4 月 5 日
- 交易号 4491
- 交易类型 402
- 政策状态 C
- Gross_Premium 12345.67
- 保险费税额 26.78
- Scheme_id STDF015N
- 等
此表包含在策略级别执行的所有调整。
“政策交易事实表上的人”
- 行名称 示例数据
- 政策 ID 112
- 驱动程序 ID 2000000084
- 交易号 4491
- 开始日期 2003 年 4 月 6 日
- 加入日期 1937 年 12 月 12 日
- 退出日期 2014 年 2 月 9 日
- 个人保费 1234.56
- 等
此表包含政策中受交易影响的每个人
“策略事务事实表”中的一条记录将链接到“策略事务事实表中的人员”中的一条或多条记录
我正在努力将这两个表在星型模式中链接在一起
我很确定我需要一个桥接表来链接事实表。
如果我专门看“策略事务事实表”和“策略事务事实表上的人”
使用“policy transaction fact table”中的“policy id”和“transaction number”键并将其连接到“people on policy transactions fact table”,我可以看到所有在policy上的人
非常感谢一些指导
感谢您抽出宝贵时间阅读本文。
感谢您在下面的第一个答案:谢谢,非常感谢。在策略事务中,“策略事务”和“策略表上的人员”附加了指标
我目前必须在SQL中设置子句来计算特定时间范围内“活跃”保单的数量,每个保单都有保费,ipt(保险保费税),附加的回扣金额
“政策表上的人”:
因为它包含保单上的所有人,我可以聚合 driver_id 来生成保单上的人数,源系统还分解了他们的个人保费,我希望可以用它来提取“赚取的保费”
还有一些政策指标显示他们拥有的政策类型,其编码为:MODP500A - 因此这将链接到允许对其进行解码的维度表。
【问题讨论】:
标签: sql-server ssas dimensional-modeling star-schema