Вы находитесь на странице: 1из 2

select D1.

c1 as c1,
D1.c2 as c2,
D1.c3 as c3,
D1.c4 as c4,
D1.c5 as c5,
D1.c6 as c6,
D1.c7 as c7,
D1.c8 as c8,
D1.c9 as c9,
D1.c10 as c10,
D1.c11 as c11
from
(select 0 as c1,
D1.c7 as c2,
D1.c8 as c3,
D1.c9 as c4,
D1.c10 as c5,
D1.c6 as c6,
D1.c5 as c7,
D1.c4 as c8,
D1.c3 as c9,
D1.c2 as c10,
D1.c1 as c11,
ROW_NUMBER() OVER (PARTITION BY D1.c7, D1.c8, D1.c9, D1.c10 ORDER
BY D1.c7 ASC, D1.c8 ASC, D1.c9 ASC, D1.c10 ASC) as c12
from
(select LAST_VALUE(D1.c11) OVER (PARTITION BY D1.c9, D1.c8, D1.c7
, D1.c10 ORDER BY NVL2(D1.c11, 1, 0) , D1.c9 NULLS FIRST, D1.c8 NULLS FIRST, D1.
c7 NULLS FIRST, D1.c10 NULLS FIRST, D1.c17 NULLS FIRST ROWS BETWEEN UNBOUNDED PR
ECEDING AND UNBOUNDED FOLLOWING) as c1,
LAST_VALUE(D1.c12) OVER (PARTITION BY D1.c9, D1.c8, D1.
c7, D1.c10 ORDER BY NVL2(D1.c12, 1, 0) , D1.c9 NULLS FIRST, D1.c8 NULLS FIRST, D
1.c7 NULLS FIRST, D1.c10 NULLS FIRST, D1.c17 NULLS FIRST ROWS BETWEEN UNBOUNDED
PRECEDING AND UNBOUNDED FOLLOWING) as c2,
LAST_VALUE(D1.c13) OVER (PARTITION BY D1.c9, D1.c8, D1.
c7, D1.c10 ORDER BY NVL2(D1.c13, 1, 0) , D1.c9 NULLS FIRST, D1.c8 NULLS FIRST, D
1.c7 NULLS FIRST, D1.c10 NULLS FIRST, D1.c17 NULLS FIRST ROWS BETWEEN UNBOUNDED
PRECEDING AND UNBOUNDED FOLLOWING) as c3,
LAST_VALUE(D1.c14) OVER (PARTITION BY D1.c9, D1.c8, D1.
c7, D1.c10 ORDER BY NVL2(D1.c14, 1, 0) , D1.c9 NULLS FIRST, D1.c8 NULLS FIRST, D
1.c7 NULLS FIRST, D1.c10 NULLS FIRST, D1.c17 NULLS FIRST ROWS BETWEEN UNBOUNDED
PRECEDING AND UNBOUNDED FOLLOWING) as c4,
LAST_VALUE(D1.c15) OVER (PARTITION BY D1.c9, D1.c8, D1.
c7, D1.c10 ORDER BY NVL2(D1.c15, 1, 0) , D1.c9 NULLS FIRST, D1.c8 NULLS FIRST, D
1.c7 NULLS FIRST, D1.c10 NULLS FIRST, D1.c17 NULLS FIRST ROWS BETWEEN UNBOUNDED
PRECEDING AND UNBOUNDED FOLLOWING) as c5,
LAST_VALUE(D1.c16) OVER (PARTITION BY D1.c9, D1.c8, D1.
c7, D1.c10 ORDER BY NVL2(D1.c16, 1, 0) , D1.c9 NULLS FIRST, D1.c8 NULLS FIRST, D
1.c7 NULLS FIRST, D1.c10 NULLS FIRST, D1.c17 NULLS FIRST ROWS BETWEEN UNBOUNDED
PRECEDING AND UNBOUNDED FOLLOWING) as c6,
D1.c7 as c7,
D1.c8 as c8,
D1.c9 as c9,
D1.c10 as c10
from
(select T94198.PAYMENT_GRP_CODE as c7,
T158070.NAME as c8,
T176037.SUPPLIER_NUM as c9,
case when T158070.X_SUPPLIER_TYPE_CODE = '<S
ource Code Not Supplied>' then 'OTHER' else T158070.X_SUPPLIER_TYPE_CODE end as

c10,
sum(case when not T306303.REMAINING_GLOBAL1_
AMT is null then T306303.REMAINING_GLOBAL1_AMT * -1 else 0 end ) as c11,
sum(case when T306303.X_GL_AGING_BUCKET = 4
then case when not T306303.REMAINING_GLOBAL1_AMT is null then T306303.REMAINING
_GLOBAL1_AMT * -1 else 0 end else 0 end ) as c12,
sum(case when T306303.X_GL_AGING_BUCKET = 3
then case when not T306303.REMAINING_GLOBAL1_AMT is null then T306303.REMAINING
_GLOBAL1_AMT * -1 else 0 end else 0 end ) as c13,
sum(case when T306303.X_GL_AGING_BUCKET = 2
then case when not T306303.REMAINING_GLOBAL1_AMT is null then T306303.REMAINING
_GLOBAL1_AMT * -1 else 0 end else 0 end ) as c14,
sum(case when T306303.X_GL_AGING_BUCKET = 5
then case when not T306303.REMAINING_GLOBAL1_AMT is null then T306303.REMAINING
_GLOBAL1_AMT * -1 else 0 end else 0 end ) as c15,
sum(case when T306303.X_GL_AGING_BUCKET = 1
then case when not T306303.REMAINING_GLOBAL1_AMT is null then T306303.REMAINING
_GLOBAL1_AMT * -1 else 0 end else 0 end ) as c16,
T66755.ROW_WID as c17
from
W_PARTY_D T158070 /* Dim_W_PARTY_D_Supplier *
/ ,
W_PARTY_ORG_D T176037 /* Dim_W_PARTY_ORG_D_Su
pplier */ ,
W_SUPPLIER_ACCOUNT_D T94198 /* Dim_W_SUPPLIER
_ACCOUNT_D */ ,
W_DAY_D T66755 /* Dim_W_DAY_D_Common */ ,
W_AP_AGING_INVOICE_A T306303 /* Fact_W_AP_AGI
NG_INVOICE_A_Fiscal_Year */
where ( T158070.ROW_WID = T306303.SUPPLIER_WID an
d T94198.ROW_WID = T306303.SPLR_ACCT_WID and T66755.ROW_WID = T306303.SNAPSHOT_D
T_WID and T158070.PARTY_ORG_WID = T176037.ROW_WID and (T158070.SUPPLIER_FLG in (
'U', 'Y')) )
group by T66755.ROW_WID, T94198.PAYMENT_GRP_CODE,
T158070.NAME, T176037.SUPPLIER_NUM, case when T158070.X_SUPPLIER_TYPE_CODE = '<
Source Code Not Supplied>' then 'OTHER' else T158070.X_SUPPLIER_TYPE_CODE end
) D1
) D1
) D1
where ( D1.c12 = 1 )

Вам также может понравиться