2017-07-22 2 views
0

J'ai des difficultés à charger une dimension avec la clé de substitution Datawarehouse dans la table de faits, par exemple la dimension SCD que je recherche a 1002 lignes, 2 lignes qui ont eu des changements de SCD2 et le reste comme SCD1. Lorsque j'utilise la transformation Lookup dans SSIS pour revenir à la fois les deux, il n'apporte que 1000 lignes quand il devrait apporter 1002. Je recherche le BusinessKey et ramener la clé de substitution DWH. Le problème réside dans le fait que j'utilise la Business Key comme jointure de recherche pour amener la clé DWH Surrogate. Je suis certain que la transformation Lookup supprime la Business Key dupliquée car il y aura 4 lignes qui seront dupliquées. ce? Ou est-ce que je le fais complètement fauxChargement Table de faits avec SCD2 de la dimension Recherche dansSSIS

Répondre

1

Une recherche dans SSIS ne correspondra qu'une seule fois, le premier match, même s'il y a 2 occurrences. Modifier ce comportement de la recherche dans SSIS n'est pas possible. Avant de charger votre table de faits dans SSIS, vous pouvez préparer les données au niveau SQL, par exemple avec une vue. Dans la requête, vous pouvez rechercher (en joignant aux dimensions) vos valeurs par clé métier et un critère supplémentaire qui pourrait être entre la date de début et la date de fin afin d'obtenir la bonne clé de substitution.

+0

Salut Mustafa, Merci pour votre réponse, donc, fondamentalement, est-ce que je ne suis qu'Inner Join the Dimension Table avec la Fact Table? Cela ramènera en effet les 2 rangées de la demension SCD. Est-ce que je dois juste faire cela dans la connexion source dans le flux de données? Ceci est ma première question, deuxièmement le reste est de ramener la clé de substitution, j'ai le drapeau actuel, bien que j'ai la date de début et de fin, bien qu'ils ne soient pas nécessaires étant donné que j'utilise le drapeau actuel? Merci – abs786123

+0

Réponds à ta première question. La vue que vous construisez sera la source en effet, mais je préfèrerais une jointure à gauche. Sur les lignes, vous n'avez pas de correspondance, donnez -1 ou -99, ce qui pourrait signifier NA. Sinon, les données resteront hors de portée en l'absence de correspondance avec une dimension. Répondez à la deuxième question. Cela dépend des besoins de l'entreprise, si l'entreprise veut voir le dernier état de la dimension, vous pouvez obtenir la clé de substitution où le drapeau actif est présent. Mais si vous voulez dire quelle valeur de dimension était présente à un certain moment, vous pouvez utiliser les dates pour obtenir la bonne clé. –

+0

Merci, juste au-dessus de plus de question, typiquement classeriez-vous toutes les clefs étrangères dans le fait comme scd2 en général? J'ai utilisé cette règle, mais je ne sais pas si c'est une bonne idée. Des pensées? Merci encore – abs786123