抽取时出现有交易记录而无会员的情况处理

今天的多维数据集又挂了,原因是在Fact_Trade_log表里面有的一条记录在dbo.Dim_User表里找不到相应的属性键!

那就只能去业务库查查情况咯。

抽取的逻辑是先找出各张表的最大时间戳,然后增量抽取<=最大时间戳的记录

--将各表最大时间戳取出
--
调整顺序以避免出现有交易记录无会员的情况
select @TradeLog_max=cast(ISNULL(max(Timestamp),0) as bigint)
from dbo.Trade_Log‘

select @User_max=cast(ISNULL(max(Timestamp),0) as bigint)
from dbo.User


其实当初已经意识到顺序问题,把交易表已经提到上面去了。

但这次的问题是:会员更改了注册信息,这就导致了dbo.Dim_User里面那条记录的时间戳变大,就没抽到分析库。

改进方法:把抽取dbo.Dim_User表的时间戳放到抽取user表的前面去,这样就不会出现上面的情况。

posted @ 2012-01-11 09:44  诺哥的传奇  阅读(239)  评论(0编辑  收藏  举报