Hola,
Tengo un sistema que calibra los datos y genera la información de la siguiente manera:
| identificación del neumático | Huella | Profundidad | Arrastrar | a nosotros | psi |
| 2326 | Interno | 0.618584 | 0.117774 | 0.417314 | 21.15549 |
| 2326 | Exterior | 0.740841 | 0.417079 | 0.417314 | 21.15549 |
| 2327 | Interno | 0.329065 | 0.218903 | 0.365071 | 25.65573 |
| 2327 | Exterior | 0.478055 | 0.214953 | 0.365071 | 25.65573 |
La identificación del neumático se lee dos veces, una para las lecturas de la banda de rodadura interior y otra para la exterior. ¿Hay un script que pueda usar para reorganizarlo como tal?
| identificación del neumático | Profundidad interior | Profundidad exterior | Arrastre interior | Arrastre exterior | a nosotros | psi |
| 2326 | 0.61858445 | 0.74084057 | 0.1177737 | 0.4170794 | 0.41731 | 21.1555 |
| 2327 | 0.32906451 | 0.47805545 | 0.2189025 | 0.2149527 | 0.36507 | 25.6557 |
Aquí, solo hay una entrada por neumático. Las entradas para Profundidad y Arrastre se han renombrado como Interior o Exterior y las columnas idénticas se han fusionado en una sola. Este es un fragmento de una hoja mucho más grande con muchas más columnas, algunas diferentes, otras iguales.
Idealmente, la secuencia de comandos puede determinar qué celdas son iguales según la identificación cansada y simplemente eliminar las réplicas. Pero una secuencia de comandos configurada con nombres predeterminados también podría funcionar, ya que los nombres de las columnas nunca cambian.
¡Gracias!
@jthi , @txnelson , ¡ustedes dos ayudaron tremendamente la última vez! ¡Gracias por eso! Realmente no sé qué enfoque tomar y no he podido encontrar nada lo suficientemente similar en soluciones anteriores.
Buen Jim!Mucho mejor que mi enfoque de fuerza bruta.Agregaría uS y psi a las columnas del Grupo según @Arocha1 solicitud de .


Lo que está solicitando está disponible mediante el uso de la plataforma Split
Tablas=>Dividir
Después de abrir la plataforma Split, configure la pantalla como se muestra a continuación

Una vez que haga clic en Aceptar, se creará una nueva tabla de datos.

La secuencia de comandos para realizar la división se encuentra en la entrada Fuente de la tabla de datos.
Simplemente haga clic derecho en la palabra Fuente

y seleccione Editar
La ventana Editar se abrirá y mostrará el JSL requerido para ejecutar la división y crear la tabla de datos que desea.

Simplemente corte y pegue el JSL desde la ventana Editar, en su secuencia de comandos
Este es un enfoque de fuerza bruta, pero funciona.Tenga en cuenta las variables para columnas divididas y columnas no divididas.
dt = New Table( "Base Tire Data", Add Rows( 4 ),
New Column( "Tire ID", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [2326, 2326, 2327, 2327] ) ),
New Column( "Tread", Character( 16 ), "Nominal",
Set Values( {"Inner", "Outer", "Inner", "Outer"} ) ),
New Column( "Depth", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [0.618584, 0.740841, 0.329065, 0.478055] ) ),
New Column( "Drag", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [0.117774, 0.417079, 0.218903, 0.214953] ) ),
New Column( "uS", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [0.417314, 0.417314, 0.365071, 0.365071] ) ),
New Column( "psi", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [21.15549, 21.15549, 25.65573, 25.65573] ) )
);
nr = nrows(dt);
dtt = New Table( "Split Tires");
dtt << new column("Tire ID", Numeric, "Continuous", Format( "Best", 12 ));
split_cols = {"Depth", "Drag"};
nonsplit_cols = {"uS", "psi"};
for (i = 1, i <= nitems(split_cols), i++,
inn_col = "Inner " || split_cols[i];
out_col = "Outer " || split_cols[i];
dtt << new column(inn_col, Numeric, "Continuous", Format( "Best", 12 ));
dtt << new column(out_col, Numeric, "Continuous", Format( "Best", 12 ));
);
for (i = 1, i <= nitems(nonsplit_cols), i++,
one_col = nonsplit_cols[i];
dtt << new column(one_col, Numeric, "Continuous", Format( "Best", 12 ));
);
dtt << Add Rows( nr/2 );
k = 0;
for (i = 1, i <= nr, i+=2,
k++;
for (m = 1, m <= nitems(split_cols), m++,
one_col = split_cols[m];
inn_col = "Inner " || split_cols[m];
out_col = "Outer " || split_cols[m];
column(dtt, inn_col)[k] = column(dt, one_col)[i];
column(dtt, out_col)[k] = column(dt, one_col)[i+1];
);
column(dtt, "Tire ID")[k] = column(dt, "Tire ID")[i];
for (m = 1, m <= nitems(nonsplit_cols), m++,
one_col = nonsplit_cols[m];
column(dtt, one_col)[k] = column(dt, one_col)[i];
);
);