Seleccione Dónde como grupoHola,
Tengo dificultades para seleccionar varios grupos de filas categorizados por datos en la fila: Carpeta.
Mi objetivo es limpiar la tabla de datos con un grupo completo de "0" o celdas vacías.
Por ejemplo, tengo una tabla de datos como tal;
| Bien | Datos | Carpeta |
| A1 | 0 | 20200107 011 3F |
| A2 | 0 | 20200107 011 3F |
| A3 | 0 | 20200107 011 3F |
| A4 | 0 | 20200107 011 3F |
| A5 | 0 | 20200107 011 3F |
| A6 | 0 | 20200107 011 3F |
| A7 | 0 | 20200107 011 3F |
| A8 | 0 | 20200107 011 3F |
| A9 | 0 | 20200107 011 3F |
| A10 | 0 | 20200107 011 3F |
| A11 | 0 | 20200107 011 3F |
| A12 | 0 | 20200107 011 3F |
| A1 | 7544.868393 | 20210104 002 1F |
| A2 | 7428.832161 | 20210104 002 1F |
| A3 | 0 | 20210104 002 1F |
| A4 | 8172.858217 | 20210104 002 1F |
| A5 | 7498.462766 | 20210104 002 1F |
| A6 | 8097.892056 | 20210104 002 1F |
| A7 | 8293.360203 | 20210104 002 1F |
| A8 | 7553.37215 | 20210104 002 1F |
| A9 | 7247.308905 | 20210104 002 1F |
| A10 | 7720.272697 | 20210104 002 1F |
| A11 | 7583.015099 | 20210104 002 1F |
| A12 | 8204.126781 | 20210104 002 1F |
| A1 | 9338.33795 | 20210104 007 1F |
| A2 | 9128.858265 | 20210104 007 1F |
| A3 | 9451.369309 | 20210104 007 1F |
| A4 | 9630.497262 | 20210104 007 1F |
| A5 | 10168.6979 | 20210104 007 1F |
| A6 | 10661.44516 | 20210104 007 1F |
| A7 | 9974.956184 | 20210104 007 1F |
| A8 | 9563.327404 | 20210104 007 1F |
| A9 | 9382.459181 | 20210104 007 1F |
| A10 | 9495.7588 | 20210104 007 1F |
| A11 | 9501.20388 | 20210104 007 1F |
| A12 | 10190.34965 | 20210104 007 1F |
| A1 | 9892.506179 | 20210104 008 1F |
| A2 | 8803.620355 | 20210104 008 1F |
| A3 | 9106.947088 | 20210104 008 1F |
| A4 | 9620.514722 | 20210104 008 1F |
| A5 | 10422.77538 | 20210104 008 1F |
| A6 | 9931.952661 | 20210104 008 1F |
| A7 | 10465.03549 | 20210104 008 1F |
| A8 | 10313.01828 | 20210104 008 1F |
| A9 | 9515.805162 | 20210104 008 1F |
| A10 | | 20210104 008 1F |
| A11 | 9638.32667 | 20210104 008 1F |
| A12 | 9230.893171 | 20210104 008 1F |
¿Cómo seleccionar y eliminar un grupo de filas de datos por :Carpeta, manteniendo el "0" o las celdas vacías que tienen algunos valores para otros :Bueno en :Carpeta?
Después de la limpieza, la tabla de datos debería verse así:
| Bien | Datos | Carpeta | |
| A1 | 7544.868 | 20210104 002 1F |
| A2 | 7428.832 | 20210104 002 1F |
| A3 | 0 | 20210104 002 1F |
| A4 | 8172.858 | 20210104 002 1F |
| A5 | 7498.463 | 20210104 002 1F |
| A6 | 8097.892 | 20210104 002 1F |
| A7 | 8293.36 | 20210104 002 1F |
| A8 | 7553.372 | 20210104 002 1F |
| A9 | 7247.309 | 20210104 002 1F |
| A10 | 7720.273 | 20210104 002 1F |
| A11 | 7583.015 | 20210104 002 1F |
| A12 | 8204.127 | 20210104 002 1F |
| A1 | 9338.338 | 20210104 007 1F |
| A2 | 9128.858 | 20210104 007 1F |
| A3 | 9451.369 | 20210104 007 1F |
| A4 | 9630.497 | 20210104 007 1F |
| A5 | 10168.7 | 20210104 007 1F |
| A6 | 10661.45 | 20210104 007 1F |
| A7 | 9974.956 | 20210104 007 1F |
| A8 | 9563.327 | 20210104 007 1F |
| A9 | 9382.459 | 20210104 007 1F |
| A10 | 9495.759 | 20210104 007 1F |
| A11 | 9501.204 | 20210104 007 1F |
| A12 | 10190.35 | 20210104 007 1F |
| A1 | 9892.506 | 20210104 008 1F |
| A2 | 8803.62 | 20210104 008 1F |
| A3 | 9106.947 | 20210104 008 1F |
| A4 | 9620.515 | 20210104 008 1F |
| A5 | 10422.78 | 20210104 008 1F |
| A6 | 9931.953 | 20210104 008 1F |
| A7 | 10465.04 | 20210104 008 1F |
| A8 | 10313.02 | 20210104 008 1F |
| A9 | 9515.805 | 20210104 008 1F |
| A10 | | 20210104 008 1F |
| A11 | 9638.327 | 20210104 008 1F |
| A12 | 9230.893 | 20210104 008 1F |
Saludos
Ashraff
Combinación y limpieza de datosRe: Seleccionar donde como grupoGracias Jim,
Sabía que existe una forma más elegante de estructurar el código como lo demostraste.
¡Gracias!
Saludos
Ashraff
Re: Seleccionar donde como grupoSu código se puede simplificar.No es necesario crear la nueva columna de fórmula.
names default to here(1);
cctable = current data table();
cctable << select where(col mean(:data,:folder)==0);
cctable << delete rows;
Re: Seleccionar donde como grupoHola,
Creo que logré resolver esto... de una manera no muy inteligente, pero funciona.
Creo una columna de datos promedio y selecciono las filas que promedia == 0
luego elimine las filas.
cctable << New Column( "DataAverage",Numeric,Continous,Format( "Best", 9 ),
Formula( Col Mean(:Data, :Folder)));
cctable << Row Selection(Select where( :DataAverage == 0));
cctable << delete rows();
cctable << delete column(column("DataAverage"));
Esto sirve para el propósito,
pero si alguien tiene una forma más sólida de escribir esto, hágamelo saber.
Saludos
Ashraff