Ordina le colonne in ordine decrescente e utilizza le 4 più grandi per il calcoloHo una tabella di dati e ho bisogno di ottenere i primi 4 valori più grandi da un intervallo di colonne, etichettato "Nozzle #". Questi valori di colonna variano in base alla variabile o alla colonna con l'etichetta "Test #".

Devo quindi applicare questi valori e in una nuova colonna calcolare l'area di un cerchio per test #. Poiché ho una tabella di dati più grande, vorrei raggruppare le colonne utilizzando la logica For, If e Contains o esiste un approccio più efficiente in JSL?
Oggetto: ordinare le colonne in ordine decrescente e utilizzare le 4 più grandi per il calcoloPer favore, dai un'occhiata alla prima formula che ti ho dato.Innanzitutto crea un elenco di tutti i valori per le diverse colonne per la riga data.Quindi ordina i valori e infine inserisce i primi quattro valori in una stringa di caratteri.
Se aggiungi quel codice al codice più recente, risulterà in un valore per la colonna che contiene i primi 4 valori più grandi.
Oggetto: ordinare le colonne in ordine decrescente e utilizzare le 4 più grandi per il calcoloL'ho provato, il codice mostrato di seguito, ma mi dà tutti i valori ordinati.
theList = {};
For( i = 2, i <= 7, i++,
For Each Row(
Eval( Parse( "Insert Into( theList," || Char( Column( dt, i )[Row()] ) || ")" ) )
)
);
theList = Sort Descending( theList );cedendo,
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 814px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="image.png" style="width: 814px;"><span class="lia-inline-image-display-wrapper" image-alt="image.png" style="width: 814px;"><img src="https://us.v-cdn.net/6038925/uploads/images/21024iC715F1791A69F0B3/image.png" role="button" title="image.png" alt="image.png" /></span></SPAN></SPAN>
Oggetto: ordinare le colonne in ordine decrescente e utilizzare le 4 più grandi per il calcoloProva ad usare questo modulo
dt = Current Data Table();
theList = {};
For( i = 2, i <= 7, i++,
Eval( Parse( "Insert Into( theList," || Char( Column( dt, i )[Row()] ) || ")" ) )
);
theList = Sort Descending( theList );Oggetto: ordinare le colonne in ordine decrescente e utilizzare le 4 più grandi per il calcoloQuindi ho provato a inserire le colonne in un elenco utilizzando un ciclo for, mostrato come Elenco1st nel file nozzle_script.jsl. Ogni volta che provo a ordinarli, vengono ordinati solo i nomi delle colonne e non i valori delle colonne. Ho anche provato a utilizzare il codice che hai mostrato e gli elenchi sono mostrati come vuoti nel registro, mostrato di seguito.

Il mio obiettivo generale sarebbe qualcosa del genere:

(nota: ho inserito manualmente i valori della colonna "Più grande". Quindi applicata la formula ("Largest"/4)^2 per le colonne "Area".)
Ho allegato la tabella dei dati e il mio script di seguito. Grazie!
Oggetto: ordinare le colonne in ordine decrescente e utilizzare le 4 più grandi per il calcoloEcco un esempio di un modo per farlo.Ammetto che è un po' folle, ma dovrebbe mostrarti un po' di JCL che ti darà un'idea di cosa puoi fare.Ho eseguito il calcolo in una nuova colonna nella tabella dei dati che hai visualizzato nella tua prima richiesta.

Ecco la formula che ho sviluppato per la nuova rubrica
theList = {};
Insert Into( theList, :Nozzle 1 );
Insert Into( theList, :Nozzle 2 );
Insert Into( theList, :Nozzle 3 );
Insert Into( theList, :Nozzle 4 );
Insert Into( theList, :Nozzle 5 );
Insert Into( theList, :Nozzle 6 );
theList = Sort Descending( theList );
theOutput = Char( theList[1] );
theOutput = theOutput || ", " || Char( theList[2] );
theOutput = theOutput || ", " || Char( theList[3] );
theOutput = theOutput || ", " || Char( theList[4] );
theOutput;Oggetto: ordinare le colonne in ordine decrescente e utilizzare le 4 più grandi per il calcoloVorrei i primi 4 valori degli ugelli più grandi per test. Quindi, sarebbe:
18684 = 5,5 5 4 0
18685 = 5 5 4 0,5
18688 = 5,5 5 4 0,5
18689 = 5 5 0,5 0
Oggetto: ordinare le colonne in ordine decrescente e utilizzare le 4 più grandi per il calcoloVuoi i primi 4 valori più grandi nelle colonne Nozzle # per ogni riga o i primi 4 valori più grandi per tutte le righe per tutte le colonne Nozzle #?