Ciao,
Quindi sto cercando di fare qualcosa di abbastanza semplice, ma ottengo uno strano comportamento con la selezione delle righe.
Quindi ho ottenuto una tabella con alcuni dati di progettazione della miscela. Ho 12 colonne per 12 diversi componenti della miscela. Ci sono tre colonne che per ogni riga indicano quali tre componenti sono presenti, denominate comp A, comp B, comp C.
Le corse sono state suddivise in serie denominate con una lettera dalla A alla K. Voglio creare uno script per eseguire un gruppo di modelli adatti tutti in una volta. Per fare ciò, ho bisogno di creare sottotabelle con le righe giuste. Fondamentalmente selezionando ogni serie una per una usando la colonna :Serie. Il mio problema è che ci sono anche linee con un singolo componente. Ho realizzato il seguente script.
Names Default To Here( 1 );
Delete Symbols();
mytable = Current Data Table();
Serieslist = {} ;
For Each Row(
If(
:Series !="X" & !Contains item (:Series, Serieslist),
Serieslist = Insert (Serieslist, :Series)
);
);
mytable << clear selected row states ();
Letter = Serieslist [1];
mytable << Row Selection( Select where (:Series == Letter) );
S1 = :Comp A[mytable<<GET selected="" rows=""></GET>Ora, quando provo a fare una selezione con le linee giuste, non funziona come dovrebbe. Usando una serie di istruzioni Print(), mi sono assicurato che i miei valori fossero corretti.
Ora controlla il seguente pezzo di codice:
</CODE></PRE><P> </P><PRE><CODE class=" language-jsl">mytable << Row Selection( Select where (:Ref == complist[1]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[2]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[3]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[1]) );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[2]), current selection ("extend") );
wait (2);
mytable << Row Selection( Select where (:Ref == complist[3]), current selection ("extend") );
mytable << Row Selection( Select where (:Ref == complist[1]) );
wait (2);
mytable << Row Selection( Select where (:Ref == "comp 6"), current selection ("extend") );
wait (2);
mytable << Row Selection( Select where (:Ref == "comp 12"), current selection ("extend") );
Le prime tre istruzioni selezionano le righe giuste. Ma quando provo a selezionare più righe, utilizzando il file selezione corrente ("estendere") argomento, non funziona. Mi sto perdendo qualcosa?
Nell'ultima riga, quando scrivo manualmente un valore nell'argomento select where (), funziona, ma quando il codice deve effettuare una valutazione per '==', smette di funzionare. Qualcuno ha una soluzione? Sono abbastanza sicuro che ci sia un modo migliore per farlo, ma comunque mi piacerebbe capire perché non funziona. È qualcosa con Eval Parse?
Ho allegato la tabella dei dati con lo script.