2017-09-25 4 views
0

Lorsque j'exécute mon package SSIS, je reçois un #Name? dans une cellule de colonne où aucune valeur n'est présente, j'ai créé une division conditionnelle en utilisant la condition suivante, ISNULL (nom de colonne) || LEN (nom de la colonne) == 0.SSIS condition pour remplacer #Name? et n'affiche aucune valeur

Le client préfère que la cellule de colonne soit vide au lieu d'afficher un 0. Lorsque je remplace le 0 par? ou "", la division conditionnelle ne reconnaît pas le caractère.

Que dois-je faire pour que la cellule de colonne apparaisse vide lorsqu'aucune valeur n'est renvoyée.

Merci pour toute assistance qui peut être donnée.

+0

Quelle est votre source? – KeithL

+0

Je suppose que c'est un fichier plat. Cochez la case sur la source de flux de données qui "conserve les valeurs nulles" – KeithL

+0

Vous ne pouvez pas non plus remplacer le nombre 0 par une chaîne. – KeithL

Répondre

0

Vous pouvez créer une colonne dérivée et la convertir en valeur NULL. Donc, si vous obtenez une chaîne de "#Name?" vous pouvez utiliser:

columnname == "#Name?" ? NULL(DT_WSTR, 50) : columnname 

Ou si vous obtenez réellement la valeur 0, vous pouvez utiliser:

columnname == 0 ? NULL(DT_I4) : columnname 
+0

Cela a fonctionné. Je vous remercie. –

+0

Pas de problème :) - veuillez marquer la réponse comme correcte si cela fonctionne. –