Pregunta sobre Table Merge, ¿cómo usar JSL para combinar datos de varias columnas en una sola columna?Pregunta sobre Table Merge, ¿cómo usar JSL para combinar datos de varias columnas en una sola columna?
si tengo una tabla, el nombre de alguna columna es muy similar, por ejemplo, el nombre de una columna es WR 689700 @WFI*HH C 56XY Z, otro nombre de columna es WR@ 689799 @WFI*HH 56XY W, el contenido de la celda en una columna muestra el valor real y la misma fila en otra columna muestra "NA", la pregunta es cómo fusionar el contenido de la celda en una nueva columna y eliminar "NA", como se muestra a continuación. porque tiene> 20 columnas en la tabla, necesita usar JSL para juzgar y agrupar la columna similar y luego fusionar el contenido de la celda con uno nuevo.
Gracias
| | | Tabla original | | | | Después de fusionar tabla |
| 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_AA | N / A | 22164 | 115 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | 24870 | 872 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 24861 | 591 | N / A | 72_88P | SS_AA | N / A | 24861 | 591 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 12928 | 274 | 72_22P | N / A | SS_AA | N / A | 12928 | 274 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 20927 | 818 | N / A | 72_88P | SS_AA | N / A | 20927 | 818 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 22167 | 14 | 72_22P | N / A | SS_AA | N / A | 22167 | 14 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | 28447 | 155 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | 29928 | 204 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 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_AA | N / A | 21701 | 269 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 27937 | 110 | N / A | 72_88P | SS_AA | N / A | 27937 | 110 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 20136 | 454 | 72_22P | N / A | SS_AA | N / A | 20136 | 454 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | 18186 | 759 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 27937 | 106 | N / A | 72_88P | SS_AA | N / A | 27937 | 106 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 11921 | 170 | 72_22P | N / A | SS_AA | N / A | 11921 | 170 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 15809 | 275 | 72_22P | N / A | SS_AA | N / A | 15809 | 275 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | 25323 | 274 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | 25931 | 453 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 19928 | 462 | N / A | 72_88P | SS_AA | N / A | 19928 | 462 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 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_AA | N / A | 15927 | 8 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 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_AA | N / A | 21702 | 178 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
secuencias de comandosRe: Pregunta sobre Table Merge, ¿cómo usar JSL para combinar múltiples datos de columna en una sola columna?gracias SeñorRe: Pregunta sobre Table Merge, ¿cómo usar JSL para combinar múltiples datos de columna en una sola columna?Si hay una regla sobre qué columnas comparar, estoy seguro de que JSL puede crear las listas, pero... no conozco la(s) regla(s)Re: Pregunta sobre Table Merge, ¿cómo usar JSL para combinar múltiples datos de columna en una sola columna?gracias por su sugerencia, pero considerando> 20 columnas en la tabla, y cómo ahorrar esfuerzo para crear compList1 y compList2, ¿es posible usar JSL para obtener todos los nombres de columna y agruparlos, porque a veces ni siquiera sabemos que necesitamos poner la columna? nombre a compList1 o compList2?Re: Pregunta sobre Table Merge, ¿cómo usar JSL para combinar múltiples datos de columna en una sola columna?Aquí hay una manera de hacer esto.Cambia los valores en su lugar, así que asegúrese de haber guardado la copia original de la tabla.Todo lo que se necesita hacer para que esto corrija toda la tabla es crear las 2 listas de comparación de nombres de columna (compList1 y 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: Pregunta sobre Table Merge, ¿cómo usar JSL para combinar múltiples datos de columna en una sola columna?Corrija la tabla de la siguiente manera:
| | | Tabla original | | | | Después de fusionar tabla |
| 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_AA | N / A | --> | 22164 | 115 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | --> | 24870 | 872 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 24861 | 591 | N / A | 72_88P | SS_AA | N / A | --> | 24861 | 591 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 12928 | 274 | 72_22P | N / A | SS_AA | N / A | --> | 12928 | 274 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 20927 | 818 | N / A | 72_88P | SS_AA | N / A | --> | 20927 | 818 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 22167 | 14 | 72_22P | N / A | SS_AA | N / A | --> | 22167 | 14 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | --> | 28447 | 155 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | --> | 29928 | 204 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 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_AA | N / A | --> | 21701 | 269 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 27937 | 110 | N / A | 72_88P | SS_AA | N / A | --> | 27937 | 110 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 20136 | 454 | 72_22P | N / A | SS_AA | N / A | --> | 20136 | 454 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | --> | 18186 | 759 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 27937 | 106 | N / A | 72_88P | SS_AA | N / A | --> | 27937 | 106 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 11921 | 170 | 72_22P | N / A | SS_AA | N / A | --> | 11921 | 170 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 15809 | 275 | 72_22P | N / A | SS_AA | N / A | --> | 15809 | 275 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | --> | 25323 | 274 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |
| 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_AA | N / A | --> | 25931 | 453 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 19928 | 462 | N / A | 72_88P | SS_AA | N / A | --> | 19928 | 462 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 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_AA | N / A | --> | 15927 | 8 | N / A | 72_88P | SS_AA | N / A | 72_88P | SS_AA |
| 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_AA | N / A | --> | 21702 | 178 | 72_22P | N / A | SS_AA | N / A | 72_22P | SS_AA |