Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SSIS] Merge join + lookup

1 réponse
Avatar
OokieDookie
Bonjour à tous,

J'ai une tâche relativement simple (?) qui se comporte de façon atypique :

1. Je charge deux tables et les relie via un merge join
2. J'exécute une série de lookups (7) pour retrouver des codes utilisateurs
(remplacement des ID dans le datawarehouse). Pour info, les erreurs de non
correspondances sont ignorées.
3. Je transforme mes données
4. J'alimente ma table

Je n'obtiens aucun message d'erreur, mais lorsque je consulte ma table, il
me manque la bagatelle de 30000 lignes sur 34000 (alors que la tâche me
certifie qu'elle alimente 34000 lignes...) Je viens de me balader une heure
sur divers sites sans rien trouver de concret sur un cas identique au mien.

Si je supprime les lookups, alors que le merge join est paramétré en left
outer, je passe de 34000 lignes sur le left input à 10000 sur l'output.

J'ai essayé de recréer la tâche sans y croire vraiment, et ça ne marche pas
mieux.

En désespoir de cause je me suis rabattu sur un bon vieux script TSQL, et ça
marche parfaitement. Le souci c'est que j'ai pas mal d'autre tâches
semblables, et ça m'inquiète un peu. Je reste persuadé qu'il y a une
explication logique mais je tourne en rond...

Si quelqu'un a une piste ou un début d'explication, je suis preneur.

D'avance merci et bonne nuit :/

1 réponse

Avatar
OokieDookie
Re,

Je suis un peu têtu alors j'ai fait d'autres tests ;)

Ma tâche est dans un sequence container : elle plante.
Je la mets en dehors : elle marche...

J'ai regardé au niveau des propriétés du container mais je ne vois rien de
spécial.
Merci de votre aide

"OokieDookie" a écrit :

Bonjour à tous,

J'ai une tâche relativement simple (?) qui se comporte de façon atypique :

1. Je charge deux tables et les relie via un merge join
2. J'exécute une série de lookups (7) pour retrouver des codes utilisateurs
(remplacement des ID dans le datawarehouse). Pour info, les erreurs de non
correspondances sont ignorées.
3. Je transforme mes données
4. J'alimente ma table

Je n'obtiens aucun message d'erreur, mais lorsque je consulte ma table, il
me manque la bagatelle de 30000 lignes sur 34000 (alors que la tâche me
certifie qu'elle alimente 34000 lignes...) Je viens de me balader une heure
sur divers sites sans rien trouver de concret sur un cas identique au mien.

Si je supprime les lookups, alors que le merge join est paramétré en left
outer, je passe de 34000 lignes sur le left input à 10000 sur l'output.

J'ai essayé de recréer la tâche sans y croire vraiment, et ça ne marche pas
mieux.

En désespoir de cause je me suis rabattu sur un bon vieux script TSQL, et ça
marche parfaitement. Le souci c'est que j'ai pas mal d'autre tâches
semblables, et ça m'inquiète un peu. Je reste persuadé qu'il y a une
explication logique mais je tourne en rond...

Si quelqu'un a une piste ou un début d'explication, je suis preneur.

D'avance merci et bonne nuit :/