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

 

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

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,