Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
Vincent31
Contributor
Contributor

Chargement fichier champs en différentes langues

Bonjour,

Je fait appel à la communauté car j'ai des difficulté pour le chargement d'un fichier:

Je vous explique, je reçoit un fichier qui peux avoir les champs soit en anglais ou en français, je voulais savoir comment faire pour créer une condition lorsque que c'est l'un ou l'autre qui ce charge.

Merci d'avance pour vos solutions.

Vincent.

  

1 Solution

Accepted Solutions
brunobertels
Master
Master

Bonjour 

Une piste de solution avec la fonction fieldmame(numéroduchamp,'table') qui permet de charger le Nom d'un champ dans une table à partir de son numéro de colonne.

L'idée serait de créer une variable : SET TestLangue = FieldName(4,'tab1'); 

charger le champs  avec quelque chose comme çà 

test:

load

FieldName(4,'tab1') as TestLangue

from ...

puis charger une fois la table et comparer le nom du même champs si même valeur Load 1 sinon load 2 

if $(TestLangue) = 'PAYS' 

TableFR:

load 

From 

else 

TableENG:

Load 

From 

Mais désolé je ne sais pas écrire çà en script 

View solution in original post

6 Replies
Taoufiq_Zarra

Question :

est ce que c'est le même champ ? par exemple champs Ville une fois avec la valeur london une autre avec londre

ou deux champs Ville_EN=london et Ville_FR=londre, mais parfois un de ces deux champs qui rensigné ?

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
Vincent31
Contributor
Contributor
Author

Bonjour,

 

Oui c'est le même champ mais en langue différente.

Le fichier et constitué de titre champ en anglais ou en français exemple:

"Ville" ;"Pays " pour le fichier FR et "City";"Country" pour le fichier EN.

Mon idée serait de pouvoir détecter si le premier titre de champ, a partir de la je lance le LOAD du fichier FR ou ANG.

Merci d'avance.

Taoufiq_Zarra

Bonjour,

si c'est pour un champs qui detecte automatiquement la langue, je ne pense pas que c'est possible, moi aussi je vais attendre le retour des autres utilisateurs.

si c'est un cas comme :

 

Table_tmp:

load * inline [
City,Country
london,england
];
concatenate 
load * inline [
Ville,Pays
paris,france
];
Data:
noconcatenate

load if(len(trim(City))>0,City,Ville) as Final_Ville,if(len(trim(Pays))>0,Pays,Country) as Final_Pays
resident Table_tmp;

drop table Table_tmp;

 

 

on a une table qui parfois vient avec les champs EN et parfois avec des champs FR comme l'exemple ci-dessous, tu peux concatener les tables puis construire une autre avec la condition if ...

la fonction Alt() ne fonctionne pas pour String

 

Capture.JPG

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
brunobertels
Master
Master

Bonjour 

Une piste de solution avec la fonction fieldmame(numéroduchamp,'table') qui permet de charger le Nom d'un champ dans une table à partir de son numéro de colonne.

L'idée serait de créer une variable : SET TestLangue = FieldName(4,'tab1'); 

charger le champs  avec quelque chose comme çà 

test:

load

FieldName(4,'tab1') as TestLangue

from ...

puis charger une fois la table et comparer le nom du même champs si même valeur Load 1 sinon load 2 

if $(TestLangue) = 'PAYS' 

TableFR:

load 

From 

else 

TableENG:

Load 

From 

Mais désolé je ne sais pas écrire çà en script 

Vincent31
Contributor
Contributor
Author

Bonjour Bruno,

J'ai essayé ton idée et ça fonctionne, donc le script LOAD bien le fichier ENG quand il détecte le premier champ et si j'ai le champ en FR le LOAD fonctionne.

Merci pour ton aide

Cordialement,

Vincent

brunobertels
Master
Master

Bonjour 

content de voir que mon approche t'a aidé a solutionner ton besoin. Du coup je veux bien l'exemple de ton script de chargement , çà m'aidera surement un jour. 

Merci d'avance 

Bruno