BI experience

Gérer les valeurs à null grâce au tmap

| 7 Commentaires

Si vous avez besoin de gérer des valeurs « null » et de leur attribuer la valeur 0 à la place par exemple, voici le code à taper dans votre tmap :

(var == null)?0:var

Dans mon cas j’avais une variable qui provenait de mon fichier Excel que je transforme en Float donc voici le code où je teste en premier lieu si ma cellule est à null:

(row3.gestionI355==null)?new Float(0):(Float.parseFloat(row3.gestionI355.replaceAll(« , », ». »)))

Je pense mettre à chaque fois que je le pourrais, le code qu’on peut utiliser ici dans le tmap ou dans d’autres composants.

7 Commentaires

  1. On peut aussi faire sa propre routine et l’appeler comme ça :
    MaClasse.maRoutine(row1.monChamp);

    Ca donne une extrême liberté pour les traitements et surtout une infinité de possibilités.

  2. Merci pour l’astuce…

  3. @Edouard par expérience l’utilisation d’une routines ralentie le process. Si possible, pour des transformations simples il vaut mieux utiliser des fonctions java.

  4. @lolive: c’est très juste ! C’est cependant parfois nécessaire pour des traitements plus complexes.
    On peut aussi privilégier les tJavaRow et tJavaFlex pour les traitements plus lourds.

  5. Moi j’ai plutôt un problème sur l’utilisation du tMap et la creation de ses fonctions Java:
    Je souhaite extraire des données de l’AS400 vers MSSQLServer .Quand j’utilise une requête avec une clause where mon Job est plus lent que lors d’une utilisation d’un simple « select *  » c’est rapide . J’aimerais extraire mes données et chargées uniquement celles qui sont identique à une valeur bien précise.
    merçi!!!

  6. Salut Billy,
    Dans ces cas la il faut que tu test ton champ :
    row1.tonchamp.equals(”ta valeur”) si c’est un String sinon si tu compare à un int tu mettras
    row1.tonchamp == tonInt et cette condition doit être indiquée dans le tmap au niveau de ta sortie, il y a une zone ou tu peux mettre tes différentes conditions…

  7. Génialissime ! Merci ;)

Laisser un commentaire

Champs Requis *.

*