Question bout Table Merge, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne?Question bout 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 689799 @ WFI * HH 56XY W, le contenu de la cellule dans une colonne montre la valeur réelle et la même ligne dans une autre colonne montre "NA", la question est de savoir comment fusionner le contenu de la cellule dans une nouvelle colonne et supprimer "NA", comme le montre ci-dessous. parce que vous avez plus de 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
| | | Table 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 |
ScriptingRe: Question bout Table Merge, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne?Corrigez le tableau comme ci-dessous:
| | | Table 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 |
Re: Question bout Table Merge, comment utiliser JSL pour fusionner plusieurs données de colonne en une seule colonne?Voici une manière de procéder.Il modifie les valeurs en place, assurez-vous donc que vous avez enregistré la copie d'origine de la table.Tout ce qu'il faut faire 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 );