Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J’ai des colonnes clé valeur dans mon fichier et je souhaiterais regrouper toutes lignes avec le même « ABC »
Merci d'avance pour votre aide .
Cordialement
Bonjour,
Si tes champs sont numérotés en incrémental, voici un script qui fonctionne
TEMP:
LOAD * inline [
Key_1,Val_1,Key_2,Val_2
ABC,12,DEF,32
DEF,15,GHI,23
GHI,5,ABC,42
];
exit script;
For i = 1 to 2
FINAL:
LOAD Key_$(i) as Key,
Val_$(i) as Val
resident TEMP;
Next;
drop table TEMP;
Tu as juste à changer le 2 dans le For.
On peut faire un truc plus "intelligent" si besoin, à toi de voir si c'est suffisant.
Bonjour,
Tu peux créer une table regroupant les clés et les valeurs comme ceci :
TABLE:
LOAD
Key_1 as Clé,
Val_1 as valeur
from fichier;
LOAD
Key_2 as Clé,
Val_2 as valeur
from fichier;
Merci pour ta réponse .
Il n'y a pas un moyen de mettre une boucle for sur les key_N , car j'en ai une centaine ?
Bonjour,
Si tes champs sont numérotés en incrémental, voici un script qui fonctionne
TEMP:
LOAD * inline [
Key_1,Val_1,Key_2,Val_2
ABC,12,DEF,32
DEF,15,GHI,23
GHI,5,ABC,42
];
exit script;
For i = 1 to 2
FINAL:
LOAD Key_$(i) as Key,
Val_$(i) as Val
resident TEMP;
Next;
drop table TEMP;
Tu as juste à changer le 2 dans le For.
On peut faire un truc plus "intelligent" si besoin, à toi de voir si c'est suffisant.
merci pour ta réponse ça marche , mais quand j'applique ce script sur un autre fichier sur lequel j'ai d'autre champs ( nom , prenom _ achteur , numero de cmd ) + les KEY_N et VALUE_N , ceci me donne des résultats vraiment bizarre , je n'arrive plus à faire le regroupement
ex : ça me donne plusieurs lignes avec le même numéro de cmd or sur mon fichier csv j'en ai qu'une seule
Bonjour,
Qu'est ce que tu veux dire par Regroupement ?
Le comportement est normal, puisque les données sont concaténées. Tu as autant de ligne par numéro de commande que de fois où la boucle s’exécute.
Mais ce n'est pas un problème dans Qlik pour faire des analyses. Si tu as besoin de compter les commandes par exemples, tu fais un Count(Distinct "numero de cmd")
Bonjour,
Oui tu as raison
Merci pour ta réponse