Seleziona Dove come gruppoCiao,
Ho difficoltà a selezionare diversi gruppi di righe con la categorizzazione in base ai dati nella riga: Cartella.
Il mio obiettivo è ripulire la tabella dati con un gruppo completo di "0" o celle vuote
Ad esempio, ho una tabella dati in quanto tale;
| BENE | Dati | Cartella |
| 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 |
Come selezionare ed eliminare un gruppo di righe di dati per :Folder, mantenendo lo "0" o le celle vuote che hanno alcuni valori per altri :Well in :Folder
Dopo la pulizia, la tabella dei dati dovrebbe assomigliare a questa:
| BENE | Dati | Cartella | |
| 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 |
Saluti
Ashraff
Combinazione e pulizia dei datiRi: Selezionare Dove come gruppoGrazie Jim,
Sapevo che esiste un modo più elegante di strutturare il codice come hai dimostrato.
Grazie!
Saluti
Ashraff
Ri: Selezionare Dove come gruppoIl tuo codice può essere semplificato.Non è necessario creare la nuova colonna formula.
names default to here(1);
cctable = current data table();
cctable << select where(col mean(:data,:folder)==0);
cctable << delete rows;
Ri: Selezionare Dove come gruppoCiao,
Penso di riuscire a risolvere questo problema... in un modo non molto intelligente, ma funziona.
Creo una colonna di dati media e seleziono le righe in cui la media == 0
quindi elimina le righe.
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"));
Questo serve allo scopo,
ma se qualcuno ha un modo più efficace per scrivere questo script, me lo faccia sapere.
Saluti
Ashraff