(点击查看大图)图5-20 事实表Lookup转换的Columns选项卡 5.4.3 管理事实表变化(2) Lookup配置为拉回SalesAmountQuota度量,其别名为SalesAmountQuota_Original,表明它来自于事实 表。这个度量将在下一步中使用。该Lookup还配置了忽略错误事件中的失败。图5-21显示了Lookup转换的Configure Error Output编辑器。
(点击查看大图)图5-21 Lookup转换的Configure Error Output编辑器 忽略失败(ignore failure)意味着如果Lookup未发现匹配,记录仍沿Lookup输出路径发送,但返回的列为NULL。在这种情况下,如果事实表中不存在匹配记录,SalesAmount Quota_Original将标记为NULL。
Conditional Split现在将提供记录的DML标识。图5-22显示了Conditional Split编辑器,它定义了3个输出。 Conditional Split和CASE语言相似,因为其条件被检查,直到WHEN条件中遇到第一个TRUE。评估的第一个条件是Sales Quota New,它确定事实表中是否有匹配。ISNULL(SalesAmountQuota_Original)条件评估事实查找中的返回列来确定值是否为 NULL。在这种情况下,NULL表明Lookup未发现匹配,因此记录必须插入到事实表。事实表中的SalesAmountQuota列被定义为NOT NULL,从而确保SalesAmountQuota_Original中的NULL表明不匹配。
第二个条件名为Sales Quota Change,检查源和事实表之间的度量值。如果度量不匹配,SalesQuota !=SalesAmountQuota_Original这个布尔表达式的输出将评估为TRUE。如果是这样,值发生了变化,需要在事实表中更新(需要生 成变化记录)。
相关推荐: