我一直在阅读数据仓库工具包第2版,最近完成了SQL Server Analysis Services课程。
这篇文章的目的是帮助我解决我遇到的设计问题
我正在尝试设计一个将在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
- 等
此表包含政策中受交易影响的所有人
“政策交易事实表”中的一条记录将链接到“政策交易事实表中的人”中的一条或多条记录
我很难在星型模式
中将这两个表链接在一起我很确定我需要一个桥接表来链接事实表。
如果我专门查看“政策交易事实表”和“政策交易事实表上的人”
使用“策略事务事实表”中的“策略ID”和“事务编号”的密钥,并将其加入“策略事务事实表中的人员”,我可以看到策略中的所有人
非常感谢一些指导
感谢您抽出宝贵时间阅读本文。
感谢您的第一个答案:谢谢,非常感谢。 “政策交易”中附有指标&政策交易中的“政策表上的人”
我目前必须在SQL中设置子句来计算特定时间范围内的“有效”策略的数量,每个策略都有溢价,ipt(保险费税),附加的回扣金额
“政策桌上的人”:
由于政策上有所有人,我可以汇总driver_id以生成政策上的人数,源系统也会分解他们的个人保费,我希望可以用来提取“保费”< / p>
还有一些政策指标显示了他们所拥有的政策类型,编码为:MODP500A - 所以这将链接到一个维度表,以便对其进行解码。
答案 0 :(得分:1)
您不会在星型模式中链接事实表。你把它们弄平了。
换句话说,不是通过桥接器或外键将Policy表与People表相关联,而是为策略中的每个人(Driver1,Driver2,Driver3等)提供一个事实列。
但我怀疑这些表中的任何一个是否都是事实表的好候选者,因为除了政策调整计数之外,我没有看到其中的任何指标。这看起来更像是策略维度和人员维度,事务表可能是唯一的事实表。
根据经验,SSAS项目的结构应该由您的报告需求驱动。从您想要报告的内容开始,不要构建任何不能满足这些需求的内容。