Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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
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é ?
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.
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
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
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
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