ローリング サムとは何か、Informatica でそれを実装する方法を誰か教えてもらえますか?
私の要件は次のとおりです:(クライアントから提供)
ETI_DUR : SUM(CASE WHEN AGENT_EXPNCD_DIM.EXCEPTION_CD='SYS/BLDG ISSUES ETI' THEN IEX_AGENT_DEXPN.SCD_DURATION ELSE 0 END)
ETI_30_DAY : ROLLING SUM(CASE WHEN (SYSDATE-IEX_AGENT_DEXPN.ROW_DT)<=30 AND AGENT_EXPNCD_DIM.EXCEPTION_CD = 'SYS/BLDG ISSUES ETI' THEN IEX_AGENT_DEXPN.SCD_DURATION ELSE 0 END)
ETI_30_DAY_OVRG: ETI_DUR> 0の場合は、0〜600とRollingsum(過去29日間のETI_DUR_30_DAY) + ETI_DUR> 600 THEN ROLLINSUM(ETI_DUR_30_DAY(ETI_DUR_30_DAY for Last30_ when Rollingum(eTi_30_))の間のlollingum(ati_dur_30_day)の場合はケースです。過去 29 日間) > 600 THEN ETI_DUR ELSE 0 END ELSE 0 END
そして、Informaticaで以下のように実装しました。
式の変換:
o_ETI_DUR-- IIF(UPPER(EXCEPTION_CD_AGENT_EXPNDIM)='SYS/BLDG ISSUES ETI',SCD_DURATION,0)
o_ETI_29_DAY-- IIF(DATE_DIFF(TRUNC(SYSDATE),trunc(SCHD_DATE),'DD') <=29 AND UPPER(EXCEPTION_CD_AGENT_EXPNDIM) = 'SYS/BLDG ISSUES ETI' ,SCD_DURATION,0)
o_ETI_30_DAY -- IIF(DATE_DIFF(TRUNC(SYSDATE),trunc(SCHD_DATE),'DD') <=30 AND UPPER(EXCEPTION_CD_AGENT_EXPNDIM) = 'SYS/BLDG ISSUES ETI' ,SCD_DURATION,0)
アグリゲーター変換:
o_ETI_30_DAY_OVRG: IIF(sum(i_ETI_DUR) > 0, IIF((sum(i_ETI_29_DAY)>=0 and sum(i_ETI_29_DAY)<=600) and (sum(i_ETI_29_DAY)+sum(i_ETI_DUR)) > 600, sum(i_ETI_30_DAY) - 600、IIF(合計(i_ETI_29_DAY)>600、合計(i_ETI_DUR)、0))、0)
しかし、機能していません。至急助けてください。
どうもありがとう....!