Como asigno -1 en tabla de hechos cuando no hay integridad referencial con la dimension

1 reply [Último envío]
Offline
Joined: 21/08/2010
Puntos: 3

 

Bajo SSIS como puedo asignarle signar -1 en un conjunto de datos (tabla de hechos)  cuando no hay integridad referencial con una dimension

Osea en el conjunto de datos tengo el campo materialID, si al efectuar un inner join con la Dimension Materialno existe correlacion, asignarle en este campo materialID de la tabla de hechos -1.

Gracias

GEMA

Imagen de josimac
Offline
Joined: 08/05/2008
Puntos: 16

Aunque este post es muy antiguo ......

Para hacer eso mediante SQL no puedes usar un inner join.
La consulta sería algo así:
select
case when t2.clave_candidata is null then -1 else t2.clave_surrogada end as CLAVE_SURROGADA
,t1.campo1
,t1.campo2
,t1.campo3
, ……
from tabla_de_hechos t1
left join tabla_dimensiones t2 on(t1.clave_candidata=t2.clave_candidata)

Mediante SSIS se puede hacer con la transformación de Lookup.
Solo hay que permitir que el flujo continue haya exito o no en la búsqueda.
Seguidamente poner una transformación que evalue el resultado devuelto por el Lookup. Si es nulo, se le asigna -1 si no, el valor devuelto,

Saludos,

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.

Si no estás registrado recuerda que tu comentario entrará en una cola de aprobación.

Más información sobre opciones de formato

Enviando este formulario, acepta la política de privacidad de Mollom.

 



 

  BI   |    CRM     |    CMS    |    Tendencias en software empresarial    |    Cloud computing  |    Software libre    |   Internet    |    Movilidad y apps