Question sur Table Merge, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne ?Question sur Table Merge, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne ?
si j'ai une table, un nom de colonne est très similaire, par exemple un nom de colonne est WR 689700 @WFI*HH C 56XY Z, un autre nom de colonne est WR@ 689799 @WFI*HH 56XY W, le contenu de la cellule dans une colonne affiche la valeur réelle et la même ligne dans une autre colonne affiche "NA", la question est de savoir comment fusionner le contenu de la cellule dans une nouvelle colonne et supprimer "NA", comme indiqué ci-dessous. parce que vous avez> 20 colonnes dans le tableau, vous devez utiliser JSL pour juger et regrouper la colonne similaire, puis fusionner le contenu de la cellule avec un nouveau.
Merci
| | | Tableau d'origine | | | | Après la table de fusion |
| ID_1 | ID_2 | WR@689700@WFI*HHC 56XYZ | WR@689799@WFI*HH 56XYZ W | WR@780990@UW*FFY 78XYZ | WR@780666@UW*FFY 78XYZ | --> | ID_1 | ID_2 | WR@689700@WFI*HHC 56XYZ | WR@689799@WFI*HH 56XYZ W | WR@780990@UW*FFY 78XYZ | WR@780666@UW*FFY 78XYZ | WR@1 | WR@2 |
| 22164 | 115 | 72_22P | N / A | SS_YY | N / A | 22164 | 115 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 25335 | 33 | 72_22P | N / A | N / A | 88_CC | 25335 | 33 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 24870 | 872 | 72_22P | N / A | SS_YY | N / A | 24870 | 872 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 24861 | 591 | N / A | 72_88P | SS_YY | N / A | 24861 | 591 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 12928 | 274 | 72_22P | N / A | SS_YY | N / A | 12928 | 274 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 20927 | 818 | N / A | 72_88P | SS_YY | N / A | 20927 | 818 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 22167 | 14 | 72_22P | N / A | SS_YY | N / A | 22167 | 14 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 12930 | 120 | 72_22P | N / A | N / A | 88_CC | 12930 | 120 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 28447 | 155 | 72_22P | N / A | SS_YY | N / A | 28447 | 155 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 33380 | 138 | N / A | 72_88P | N / A | 88_CC | 33380 | 138 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 18186 | 769 | 72_22P | N / A | N / A | 88_CC | 18186 | 769 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 27557 | 91 | N / A | 72_88P | N / A | 88_CC | 27557 | 91 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 14863 | 116 | 72_22P | N / A | N / A | 88_CC | 14863 | 116 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 29928 | 204 | N / A | 72_88P | SS_YY | N / A | 29928 | 204 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 15809 | 70 | 72_22P | N / A | N / A | 88_CC | 15809 | 70 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 21701 | 269 | 72_22P | N / A | SS_YY | N / A | 21701 | 269 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 27937 | 110 | N / A | 72_88P | SS_YY | N / A | 27937 | 110 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 20136 | 454 | 72_22P | N / A | SS_YY | N / A | 20136 | 454 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 27934 | 866 | N / A | 72_88P | N / A | 88_CC | 27934 | 866 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 18186 | 759 | 72_22P | N / A | SS_YY | N / A | 18186 | 759 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 27937 | 106 | N / A | 72_88P | SS_YY | N / A | 27937 | 106 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 11921 | 170 | 72_22P | N / A | SS_YY | N / A | 11921 | 170 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 15809 | 275 | 72_22P | N / A | SS_YY | N / A | 15809 | 275 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 26314 | 222 | 72_22P | N / A | N / A | 88_CC | 26314 | 222 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 25323 | 274 | 72_22P | N / A | SS_YY | N / A | 25323 | 274 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 21684 | 305 | 72_22P | N / A | N / A | 88_CC | 21684 | 305 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 25931 | 453 | N / A | 72_88P | SS_YY | N / A | 25931 | 453 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 19928 | 462 | N / A | 72_88P | SS_YY | N / A | 19928 | 462 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 16925 | 12 | N / A | 72_88P | N / A | 88_CC | 16925 | 12 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 15927 | 8 | N / A | 72_88P | SS_YY | N / A | 15927 | 8 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 12930 | 35 | 72_22P | N / A | N / A | 88_CC | 12930 | 35 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 21702 | 178 | 72_22P | N / A | SS_YY | N / A | 21702 | 178 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
ScriptRe : Question sur la fusion de tables, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne ?Merci MonsieurRe : Question sur la fusion de tables, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne ?S'il existe une règle sur les colonnes à comparer, je suis sûr que JSL peut créer les listes, mais ..... je ne connais pas la ou les règlesRe : Question sur la fusion de tables, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne ?merci pour votre suggestion, mais compte tenu de> 20 colonnes dans le tableau, et comment économiser des efforts pour créer compList1 et compList2, est-il possible d'utiliser JSL pour obtenir tous les noms de colonnes et les regrouper, car parfois nous ne savons même pas besoin de mettre la colonne nom à compList1 ou compList2 ?Re : Question sur la fusion de tables, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne ?Voici une façon de procéder.Cela modifie les valeurs en place, alors assurez-vous d'avoir enregistré la copie originale de la table.Tout ce qui doit être fait pour que cela corrige l'ensemble du tableau est de créer les 2 listes de comparaison des noms de colonnes (compList1 & compList2)
Names Default To Here( 1 );
dt = Current Data Table();
// Create the lists of the columns to be compaired
// compList1[1] will be compired with compList2[1] etc.
compList1 = {"WR@689700@WFI*HHC 56XYZ", "WR@780990@UW*FFY 78XYZ"};
compList2 = {"WR@689799@WFI*HH 56XYZ W", "WR@780666@UW*FFY 78XYZ"};
// Loop across the columns, finding which rows to be changed and
// then loop across those rows and change them
For( i = 1, i <= N Items( compList1 ), i++,
// Find which rows to change
theRows = dt << get rows where( As Column( dt, compList1[i] ) == "NA" & As Column( dt, compList2[i] ) != "NA" );
// Change the rows
For( k = 1, k <= N Rows( theRows ), k++,
Column( dt, compList1[i] )[theRows[k]] = Column( dt, compList2[i] )[theRows[k]]
);
);
// Delete the duplicate columns
dt << delete columns( compList2 );Re : Question sur la fusion de tables, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne ?Corrigez le tableau comme ci-dessous :
| | | Tableau d'origine | | | | Après la table de fusion |
| ID_1 | ID_2 | WR@689700@WFI*HHC 56XYZ | WR@689799@WFI*HH 56XYZ W | WR@780990@UW*FFY 78XYZ | WR@780666@UW*FFY 78XYZ | --> | ID_1 | ID_2 | WR@689700@WFI*HHC 56XYZ | WR@689799@WFI*HH 56XYZ W | WR@780990@UW*FFY 78XYZ | WR@780666@UW*FFY 78XYZ | WR@1 | WR@2 |
| 22164 | 115 | 72_22P | N / A | SS_YY | N / A | --> | 22164 | 115 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 25335 | 33 | 72_22P | N / A | N / A | 88_CC | --> | 25335 | 33 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 24870 | 872 | 72_22P | N / A | SS_YY | N / A | --> | 24870 | 872 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 24861 | 591 | N / A | 72_88P | SS_YY | N / A | --> | 24861 | 591 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 12928 | 274 | 72_22P | N / A | SS_YY | N / A | --> | 12928 | 274 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 20927 | 818 | N / A | 72_88P | SS_YY | N / A | --> | 20927 | 818 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 22167 | 14 | 72_22P | N / A | SS_YY | N / A | --> | 22167 | 14 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 12930 | 120 | 72_22P | N / A | N / A | 88_CC | --> | 12930 | 120 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 28447 | 155 | 72_22P | N / A | SS_YY | N / A | --> | 28447 | 155 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 33380 | 138 | N / A | 72_88P | N / A | 88_CC | --> | 33380 | 138 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 18186 | 769 | 72_22P | N / A | N / A | 88_CC | --> | 18186 | 769 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 27557 | 91 | N / A | 72_88P | N / A | 88_CC | --> | 27557 | 91 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 14863 | 116 | 72_22P | N / A | N / A | 88_CC | --> | 14863 | 116 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 29928 | 204 | N / A | 72_88P | SS_YY | N / A | --> | 29928 | 204 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 15809 | 70 | 72_22P | N / A | N / A | 88_CC | --> | 15809 | 70 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 21701 | 269 | 72_22P | N / A | SS_YY | N / A | --> | 21701 | 269 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 27937 | 110 | N / A | 72_88P | SS_YY | N / A | --> | 27937 | 110 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 20136 | 454 | 72_22P | N / A | SS_YY | N / A | --> | 20136 | 454 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 27934 | 866 | N / A | 72_88P | N / A | 88_CC | --> | 27934 | 866 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 18186 | 759 | 72_22P | N / A | SS_YY | N / A | --> | 18186 | 759 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 27937 | 106 | N / A | 72_88P | SS_YY | N / A | --> | 27937 | 106 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 11921 | 170 | 72_22P | N / A | SS_YY | N / A | --> | 11921 | 170 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 15809 | 275 | 72_22P | N / A | SS_YY | N / A | --> | 15809 | 275 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 26314 | 222 | 72_22P | N / A | N / A | 88_CC | --> | 26314 | 222 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 25323 | 274 | 72_22P | N / A | SS_YY | N / A | --> | 25323 | 274 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |
| 21684 | 305 | 72_22P | N / A | N / A | 88_CC | --> | 21684 | 305 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 25931 | 453 | N / A | 72_88P | SS_YY | N / A | --> | 25931 | 453 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 19928 | 462 | N / A | 72_88P | SS_YY | N / A | --> | 19928 | 462 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 16925 | 12 | N / A | 72_88P | N / A | 88_CC | --> | 16925 | 12 | N / A | 72_88P | N / A | 88_CC | 72_88P | 88_CC |
| 15927 | 8 | N / A | 72_88P | SS_YY | N / A | --> | 15927 | 8 | N / A | 72_88P | SS_YY | N / A | 72_88P | SS_YY |
| 12930 | 35 | 72_22P | N / A | N / A | 88_CC | --> | 12930 | 35 | 72_22P | N / A | N / A | 88_CC | 72_22P | 88_CC |
| 21702 | 178 | 72_22P | N / A | SS_YY | N / A | --> | 21702 | 178 | 72_22P | N / A | SS_YY | N / A | 72_22P | SS_YY |