Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Informatica
Informatica Forum d'entraide Informatica (PowerCenter, PowerExchange, Complex Data Exchange, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2011, 10h36   #1
Futur Membre du Club
 
Femme
Consultant en Business Intelligence
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 15
Points : 15
Par défaut remplacement simultané de plusieurs chaînes de caractères

Bonjour,
je travaille sur informatica et je souhaiterais modifier simultanément plusieurs chaînes de caractères présentes dans ma table source.
Ma table comprend une colonne avec des énumérations d'outils informatiques. Ce que j'aimerais faire, c'est que tout soit écrit de manière uniforme. Par exemple, on trouve 'INFORMATICA', 'informatica' ou 'Informatica' dans mon tableau et je voudrais tout transformer en 'Informatica'

J'ai essayé de faire une requête sql dans le source qualifier, ou bien d'utiliser des fonctions d'informatica mais je n'arrive pas à changer plus d'une chaîne à la fois.

Merci pour votre aide!
boucledor13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 12h33   #2
Membre Expert
 
Avatar de Glutinus
 
Homme
Consultant en Business Intelligence
Inscription : avril 2005
Messages : 676
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : avril 2005
Messages : 676
Points : 1 467
Points : 1 467
Bonjour,

Si j'ai bien compris, pour une colonne donnée, tu voudrais qu'ils soient tous écrits de la même manière.

Si tu dis que tu as modifié le SQ, c'est que ta source est de la base de donnée. J'ai un peu du mal à voir : tu ne peux pas overrider ta requête et mettre à la place :

select
champ1,
champ2,
INITCAP(champ3)
from ma_table

Je n'ai pas informatica sous la main, mais il n'existe pas de fonction Initcap ? (ou alors la bricoler à la main, à coup de LOWER, UPPER et SUBSTRING)
__________________

Dogbert : Here's my final report on your company. I've concluded you're doomed. You waste too much money on consultants.
Boss : You're a consultant.
Dogbert : Ironic, isn't it ?
~~
La culture, c'est comme la confiture : quand on l'aime, on la partage.
Amateur de photos et de groupes de rock qui gagnent à être connus ? Clique WWW !
Glutinus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h19   #3
Futur Membre du Club
 
Femme
Consultant en Business Intelligence
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 15
Points : 15
Si si il existe bien une fonction Initcap dans Informatica mais le problème c'est que je ne veux pas forcément une écriture majuscule + minuscules (par ex, SQL Server écrit de cette façon).
Je pense qu'il faudrait faire du cas par cas, étant donné que j'ai un nombre limité d'outils dans ma table. J'ai essayé la fonction replace(A, 'INFORMATICA','Informatica') qui va bien modifier toutes les chaînes 'INFORMATICA', par contre je n'arrive pas à utiliser la fonction pour changer plus d'une chaîne...
boucledor13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 17h10   #4
Membre Expert
 
Avatar de Glutinus
 
Homme
Consultant en Business Intelligence
Inscription : avril 2005
Messages : 676
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : avril 2005
Messages : 676
Points : 1 467
Points : 1 467
Je dois t'avouer que je ne comprends pas trop ce que tu veux faire
Informatica (et les ETL en général) t'offre pas mal de règles pour uniformiser, mais j'ai l'impression que tu veux désuniformiser ?

Tu pourrais donner un exemple concret, avec quelques enregistrements ?

Sinon, si tu réussis à établir une liste de cas et que tu es sûre qu'elle ne bougera pas, tu peux toujours créer une table de paramètres et faire une lookup dessus.
__________________

Dogbert : Here's my final report on your company. I've concluded you're doomed. You waste too much money on consultants.
Boss : You're a consultant.
Dogbert : Ironic, isn't it ?
~~
La culture, c'est comme la confiture : quand on l'aime, on la partage.
Amateur de photos et de groupes de rock qui gagnent à être connus ? Clique WWW !
Glutinus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 10h49   #5
Futur Membre du Club
 
Femme
Consultant en Business Intelligence
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 15
Points : 15
Non je ne veux pas désuniformiser, au contraire!

Voici en pièce jointe une extraction de ma table de travail avec 3 colonnes (id_user, sgbd et outil). Comme tu peux le voir, un même sgbd/outil possède plusiurs écritures différentes, par ex ORACLE, oracle ou essbase, Essbase...

Ce que j'aimerais faire, c'est n'avoir qu'une seule écriture par sgbd/outil.
La fonction replace marche bien mais je n'arrive pas à faire plus d'un changement à la fois. Ya t-il un moyen pour effectuer simultanément tous les changements?
Fichiers attachés
Type de fichier : docx ex.docx (11,1 Ko, 9 affichages)
boucledor13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 17h23   #6
Membre Expert
 
Avatar de Glutinus
 
Homme
Consultant en Business Intelligence
Inscription : avril 2005
Messages : 676
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : avril 2005
Messages : 676
Points : 1 467
Points : 1 467
Je ne vois pas d'autres solutions que, par exemple, de faire un UPPER de toute la colonne...
__________________

Dogbert : Here's my final report on your company. I've concluded you're doomed. You waste too much money on consultants.
Boss : You're a consultant.
Dogbert : Ironic, isn't it ?
~~
La culture, c'est comme la confiture : quand on l'aime, on la partage.
Amateur de photos et de groupes de rock qui gagnent à être connus ? Clique WWW !
Glutinus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 09h46   #7
Futur Membre du Club
 
Femme
Consultant en Business Intelligence
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 15
Points : 15
Finalement je m'en suis sortie avec la fonction DECODE en indiquant à chaque fois l'écriture que je souhaitais
boucledor13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 17h36   #8
Membre Expert
 
Avatar de Glutinus
 
Homme
Consultant en Business Intelligence
Inscription : avril 2005
Messages : 676
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : avril 2005
Messages : 676
Points : 1 467
Points : 1 467
En espérant que tu n'as pas de nouveaux "cas" qui apparaissent au fur et à mesure. C'est pour ça qu'il vaut mieux utiliser une table de paramètre sur laquelle faire une lookup. Le fonctionnement est similaire, mais c'est plus "maintenable", en ce sens que tu peux rajouter les codes (et son decode) directement dans la table au lieu de rajouter des valeurs dans le mapping.
__________________

Dogbert : Here's my final report on your company. I've concluded you're doomed. You waste too much money on consultants.
Boss : You're a consultant.
Dogbert : Ironic, isn't it ?
~~
La culture, c'est comme la confiture : quand on l'aime, on la partage.
Amateur de photos et de groupes de rock qui gagnent à être connus ? Clique WWW !
Glutinus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 11h17   #9
Futur Membre du Club
 
Femme
Consultant en Business Intelligence
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 15
Points : 15
Finalement tu as raison l'utilisation d'une table de paramètres me semble plus appropriée, il me reste à voir comment je peux l'utiliser...
boucledor13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 16h52   #10
Membre Expert
 
Avatar de Glutinus
 
Homme
Consultant en Business Intelligence
Inscription : avril 2005
Messages : 676
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Finance

Informations forums :
Inscription : avril 2005
Messages : 676
Points : 1 467
Points : 1 467
Citation:
Envoyé par boucledor13 Voir le message
Finalement tu as raison l'utilisation d'une table de paramètres me semble plus appropriée, il me reste à voir comment je peux l'utiliser...
Heu, hé bien sous forme de lookup par exemple !
__________________

Dogbert : Here's my final report on your company. I've concluded you're doomed. You waste too much money on consultants.
Boss : You're a consultant.
Dogbert : Ironic, isn't it ?
~~
La culture, c'est comme la confiture : quand on l'aime, on la partage.
Amateur de photos et de groupes de rock qui gagnent à être connus ? Clique WWW !
Glutinus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 10h33   #11
Futur Membre du Club
 
Femme
Consultant en Business Intelligence
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 15
Points : 15
Je m'en suis sortie avec une jointure finalement, parce que j'ai dû crée un port supplémentaire pour la condition d'égalité (ce qui n'est pas possible avec le lookup car l'égalité se fait forcément sur un port déjà existant) et tout marche nickel!
Merci en tout cas pour tes conseils!
boucledor13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h50.


 
 
 
 
Partenaires

Hébergement Web