【问题标题】:Informatica lookup override group by not equal to conditionInformatica 查找覆盖组不等于条件
【发布时间】:2016-02-17 10:23:38
【问题描述】:

我有一个查找转换并且有 sql 覆盖。我只是为了理解目的而查询

有点像

select empno,sum(sal)
from tab1
group by empno;

现在,我的要求是基于源数据,我需要应用类似这样的过滤条件:-

如果当前行的源表日期 - src_dt 和 tran_dt(来自 tab1-lookup tbale) 列匹配/相等,然后排除该行进行计算。

由于 sql override 是 group by,我如何在当前代码中通过较少的修改来实现此功能

【问题讨论】:

  • @Marek Grzenkowicz 代码目前在 prod 中,当前代码没有 tran_dt 列。我们需要在当前代码中做这个修改,并根据问题中提到的过滤记录
  • 为什么不用聚合转换来做地图中的逻辑?
  • 你的意思是group by empno?您在映射中进行了哪些计算?
  • @sagi 抱歉回复晚了...我在度假..当前查找覆盖查询(分组依据)我需要修改..我需要在分组之前过滤掉一些记录...(如果 emp_sal_code 与 source_sal_code 匹配)则需要排除/过滤该记录,然后需要求和。是的,我可以通过聚合转换来做到这一点,我只是想有没有办法通过现有的仅查找修改来处理这个问题。代码在产品中,这是一个新的要求。
  • @Samik 在我的上述评论中提到了更多信息,是的,我的意思是“按 empno 分组”。我已经完成了有问题的编辑。谢谢

标签: sql oracle informatica informatica-powercenter information-extraction


【解决方案1】:

比较来自源的 id 和来自 lkp 的 id,然后从 lkp 获取 tr 日期,并从源限定符中获取 src 日期,并添加过滤器转换,根据需要比较日期以过滤记录。

【讨论】:

  • 是的,可以这样。但是,我的问题是 - 有没有办法只改变查找转换?它的产品代码和需要在这里做最少的更改.....
  • 查找是一种被动转换,您无法过滤来自源的记录。如果您可以在目标中将不匹配的记录作为 null 或某个默认值添加 > 和由 col)
【解决方案2】:

选择 a.empno,a.total_sal, b.tran_dt (选择 empno,sum(sal) 作为 total_sal, 从tab1a, 按 a.empno 分组) a, (选择empno,tran_dt 来自 tab1) b 其中 a.empno = b.empno

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    相关资源
    最近更新 更多