
VALIDACION PARA REJECTED MEMBERS
Publicado por Matias (1 intervención) el 19/06/2017 20:34:37
Buenas estimados,
Estoy haciendo un trabajo, donde necesito tener los miembros rechazados de la siguiente forma:
Tabla source: OIA con 10 columnas donde 4 de ellas son:
Product, Departament, Entity, Account
Por otro lado tengo 4 tablas diferentes llamadas:
DIM_PRODUCT, DIM_DEPARTAMENT, DIM_ENTITY, DIM_ACCOUNT
Cada una de estas segunda tiene una columna child con datos que machean con la tabla source (OIA) según su nombre ( ejemplo Product machea con DIM_Product) y otros datos que no machean. Estos que no, son los miembros que necesito, para conocer los rechazados.
Los rechazados serian la parte celeste que adjunto en la imagen.
Realicé varias consultas para lograr esto y cuando voy a validar si hago el COUNT de la consulta de Intersección + el count de la consulta de los rechazados, NO ME DA IGUAL AL COUNT de OIA.
Consulta para intersección:
1)
2)
1 + 2 me da diferente a OIA, cuando me debería dar igual.
Adjunto imagen con boceto de lo que quiero realizar.
Muchas gracias.
Quedo a la espera de sus pensamientos.
Saludos.

Estoy haciendo un trabajo, donde necesito tener los miembros rechazados de la siguiente forma:
Tabla source: OIA con 10 columnas donde 4 de ellas son:
Product, Departament, Entity, Account
Por otro lado tengo 4 tablas diferentes llamadas:
DIM_PRODUCT, DIM_DEPARTAMENT, DIM_ENTITY, DIM_ACCOUNT
Cada una de estas segunda tiene una columna child con datos que machean con la tabla source (OIA) según su nombre ( ejemplo Product machea con DIM_Product) y otros datos que no machean. Estos que no, son los miembros que necesito, para conocer los rechazados.
Los rechazados serian la parte celeste que adjunto en la imagen.
Realicé varias consultas para lograr esto y cuando voy a validar si hago el COUNT de la consulta de Intersección + el count de la consulta de los rechazados, NO ME DA IGUAL AL COUNT de OIA.
Consulta para intersección:
1)
1
2
3
4
5
select COUNT(*) from (select DISTINCT OIA.* from fdmee.AIF_OPEN_INTERFACE OIA
INNER JOIN STG_AREA.DIM_ACCOUNT ACC on OIA.COL01 = ACC.CHILD
INNER JOIN STG_AREA.DIM_DEPARTAMENT PLN on OIA.COL04 = PLN.child
INNER JOIN STG_AREA.DIM_ENTITY ENT on OIA.COL07 = ENT.child
INNER JOIN STG_AREA.DIM_PRODUCT PRD on OIA.COL08 = PRD.child)
2)
1
2
3
4
5
6
select count (*) from (select DISTINCT OIA.* from fdmee.AIF_OPEN_INTERFACE OIA
full OUTER JOIN STG_AREA.DIM_ACCOUNT ACC on OIA.COL01 = ACC.child
full OUTER JOIN STG_AREA.DIM_DEPARTAMENT PLN on OIA.COL04 = PLN.child
full OUTER JOIN STG_AREA.DIM_ENTITY ENT on OIA.COL07 = ENT.child
full OUTER JOIN STG_AREA.DIM_PRODUCT PRD on OIA.COL08 = PRD.child
where (OIA.COL01 is not null and acc.child is null) or (OIA.COL04 is not null and pln.child is null) or (OIA.COL07 is not null and ENT.child is null) or ( OIA.COL08 is not null and prd.child is null))
1 + 2 me da diferente a OIA, cuando me debería dar igual.
Adjunto imagen con boceto de lo que quiero realizar.
Muchas gracias.
Quedo a la espera de sus pensamientos.
Saludos.

Valora esta pregunta


0