Pregunta sobre la combinación de tablas, ¿cómo usar JSL para combinar datos de varias columnas en una columna?Pregunta sobre la combinación de tablas, ¿cómo usar JSL para combinar datos de varias columnas en una 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 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 combinar el contenido de la celda en una nueva columna y eliminar "NA", como se muestra a continuación. debido a que tiene> 20 columnas en la tabla, es necesario usar JSL para juzgar y agrupar la columna similar y luego fusionar el contenido de la celda con una nueva.
Gracias
| | | Mesa original | | | | Después de combinar 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_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: Pregunta sobre la combinación de tablas, ¿cómo usar JSL para combinar datos de varias columnas en una columna?Corrija la tabla como se muestra a continuación:
| | | Mesa original | | | | Después de combinar 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_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: Pregunta sobre la combinación de tablas, ¿cómo usar JSL para combinar datos de varias columnas en una columna?He aquí una forma 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 columnas (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 );