如何挑选从一组日期通过源来的最大日起,比高日期等?

问题描述 投票:1回答:3

我身边有7场来自source。我需要选择他们所有的最高日在Informatica的表达。我还可能得到的任何字段默认高日期(12/31/9999),但如果该日期在任何具有字段,那么最多显示比较被跳过。

e.g,如果我的源字段有数据 - 1/1/2001,2002年1月2日,2/2,2003年12/31/999。

然后我的表情输出必须是2003年2月2日。

informatica
3个回答
1
投票

创建额外的端口,将丢弃默认情况下,像

agg_Date = IIF(in_Date = '12/31/9999', NULL, in_Date)

现在使用agg_Date在聚合转化来计算MAX。


1
投票

你可以这样做在SQ级(自定义SQL查询)或Informatica的水平:https://forgetcode.com/informatica/1472-greatest-find-greatest-value

第1步:

检查定义为每个字段(或在网上做)

DATE_1_CHECKED =  IIF( DATE_1 = TO_DATE('9999.. ', 'YYYY-' ), NULL, DATE_1)

第2步:

GREATEST(DATE_1, DATE_2, DATE_3 ) 

PS。我不知道有关转换函数TO_DATE,请阅读文档。

PS。如果你要削减的日期/时间precission在Informatica中,请使用TRIM(DATE_1,“DD”),以获得最新与HH24:MM:SS零填补。


0
投票

写IIF使用<,>和输出最大的一个和!比较日期值= 12/31/999产品

© www.soinside.com 2019 - 2024. All rights reserved.