Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
j'ai une table avec dans un champs des informations séparé par des points virgules, je souhaiterais les eclater sur plusieurs lignes.
Ma table :
Magnitude_Ctrl.Niveau | Account_Group | Multi Func Area | Magnitude_Ctrl.Rubrique | Magnitude_Ctrl.Montant social | Magnitude_Ctrl.Commentaires | |
0 | R60320 | 01CI | R60320 | -[SOLDE]/1000 | ||
0 | R60400 | 01CI;02CI;03CI;04CI | R60400CI | -[SOLDE]/1000 | ||
le résultat souhaitait
Magnitude_Ctrl.Niveau | Account_Group | Multi Func Area | Magnitude_Ctrl.Rubrique | Magnitude_Ctrl.Montant social | Magnitude_Ctrl.Commentaires | |
0 | R60320 | 01CI | R60320 | -[SOLDE]/1000 | ||
0 | R60400 | 01CI | R60400CI | -[SOLDE]/1000 | ||
0 | R60400 | 02CI | R60400CI | -[SOLDE]/1000 | ||
0 | R60400 | 03CI | R60400CI | -[SOLDE]/1000 | ||
0 | R60400 | 04CI | R60400CI | -[SOLDE]/1000 | ||
Si quelqu'un a une idée merci d'avance
Bonjour,
C'est faisable de la façon suivante par une boucle dans le script:
temp: //table temporaire qui charge simplement les données
LOAD Magnitude_Ctrl.Niveau ,
Account_Group ,
[Multi Func Area] ,
Magnitude_Ctrl.Rubrique,
[Magnitude_Ctrl.Montant social],
Magnitude_Ctrl.Commentaires
FROM
[datas.xlsx]
(ooxml, embedded labels, table is Feuil1);
result:
lOAD Magnitude_Ctrl.Niveau ,
Account_Group ,
SubField([Multi Func Area],';',ITERNO()) AS function ,
Magnitude_Ctrl.Rubrique,
[Magnitude_Ctrl.Montant social],
Magnitude_Ctrl.Commentaires
RESIDENT temp
WHILE(ITERNO()<=SubStringCount([Multi Func Area],';')+1);
DROP TABLE temp;
je me suis inspiré de ce post:How to separate comma delimited field during load
Martin