然后分别形成各自的conform table,
供前端查询或者汇总分析(报表\Olap\dm都可)使用,就不会出现楼上的麻烦。
这种项目的思维,是典型的把一些汇总集放在一起,这样的最大缺点,就是可扩展性太小,稍微变化,就得全部重来。要知道之所以有个抽取周期,就是因为不同周期的数据变化不一样的,数据仓库虽然是历史的,但是不能超越了历史,如果一周/月/年的数据是每一天积累起来,就相当于你提前定义了数据在以后也不会变化的,然后周期到来之前,数据是变化的。这就是为什么需要不同周期要从不同周期结束的数据源抽取的道理。
FactTable
01/02/2006 Snapshot
TransDate OrderNumber OrderStatus Amount
01/01/2006 1001 OPEN 100
01/01/2006 1002 COMPLETE 200
01/02/2006 1003 OPEN 100
01/02/2006 1004 COMPLETE 200
01/03/2006 Snapshot
TransDate OrderNumber OrderStatus Amount
01/01/2006 1001 COMPLETE 100
01/01/2006 1002 COMPLETE 200
01/02/2006 1003 COMPLETE 100
01/02/2006 1004 COMPLETE 200
DataMart
01/02/2006 Snapshot
TransDate OrderStatus Amount MTD Amount
01/01/2006 OPEN 100 100
01/01/2006 COMPLETE 200 200
01/02/2006 OPEN 100 200
01/02/2006 COMPLETE 200 400
01/03/2006 Snapshot(这样01/01--01/03的MTD
数据都需要重新计算)
TransDate OrderStatus Amount MTD Amount
01/01/2006 COMPLETE 100 100
01/01/2006 COMPLETE 200 200
01/02/2006 COMPLETE 100 200
01/02/2006 COMPLETE 200 400
> 这个可以保留MTD和YTD的下一个层,也就是Feed数据一段时间,至变化周期结束即可。
你的意思是MTD和YTD不能及时提供正确的信息给客户,必须等到数据停止变化的时候才能提供准确的信息。
不知道我的理解是不是有问题。
谢谢楼上各位的建议。
还有你们提到的周期性的刷性DATAMART,但是往往这个周期不是确定的,而且可以是几个月之前的,如果刷新几个月的数据,时间也是个问题。
而且客户的希望是最好每天的mtd和ytd都是正确的,如果某些天是对的,偶尔几天是错的,那他们也不知道哪些是对的,哪些是错的,这个指标就没有意义了/