come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonneho una tabella con più di 500 righe e più di 100 colonne. Popolato con valori numerici (date). Devo trovare il valore massimo e minimo lungo ciascuna riga per la prima e l'ultima data. immagino che lo script sarebbe simile a "Massimo (colonna1........ colonna100)" per ogni riga. Ma non sono sicuro di come scrivere gli intervalli di colonne lungo ciascuna riga.
Modellazione statistica avanzataAutomazione e scriptingCombinazione e pulizia dei datiPersonalizzazione di massaRe: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonnePotrebbe questa formula
If( Row() == 1,
nc = N Cols( Current Data Table() )
);
Mean( As Column( nc - 4 ), As Column( nc - 3 ),
As Column( nc - 2 ), As Column( nc - 1 ) );
sii qualcosa nella direzione che stai cercando
Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonneconsiderando che ogni colonna ha valori di ogni giorno; e devo prendere la media dei dati degli ultimi 4 giorni (media di 4 colonne) e inserirla in una nuova colonna. come posso creare una formula per questa nuova colonna? dove cambieranno ogni giorno i riferimenti all'interno della formula?Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonneSe desideri utilizzare solo dal decimo alla fine della tabella dati, puoi modificare gli elementi nell'elenco utilizzato per la specifica della colonna.Ecco una modifica della formula che ho presentato in precedenza
If( Row() == 1,
theList = Current Data Table() << get column names( );
remove from( theList, 1, 9 );
);
Max( theLIst );
La documentazione sulla modifica dell'elenco è disponibile nella Guida allo scripting.
Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonneEcco un modo. Utilizza 'Aiuto > Indice di scripting' e la 'Guida allo scripting JSL' per comprendere ciò che non è chiaro.
NamesDefaultToHere(1);
// Make some data
nr = 100;
nc = 50;
dt = AsTable(J(nr, nc, RandomNormal(0, 1)));
dt << setName("Some Random Continuous Columns");
// Define a contiguous range of columns to consider
startColNum = RandomInteger(1, Floor(nc/2));
endColNum = RandomInteger(Ceiling(nc/2), nc);
// Get the list of columns to include in the formulas
allCols = dt << getColumnNames;
myCols = allCols[startColNum::endColNum];
// Add the required formulas
CMD = Expr(dt << NewColumn("Row Maximum from Cols "||Char(startColNum)||" to "||Char(endColNum), Numeric, Continuous, Formula(Max(colsTBD))));
SubstituteInto(CMD, Expr(colsTBD), myCols);
CMD;
CMD = Expr(dt << NewColumn("Row Minimum from Cols "||Char(startColNum)||" to "||Char(endColNum), Numeric, Continuous, Formula(Min(colsTBD))));
SubstituteInto(CMD, Expr(colsTBD), myCols);
CMD;
Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonnecome specificare l'intervallo nello script, quali simboli/caratteri esatti utilizzare nello script? è quello che mi interessaRe: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonnePenso che sarebbe semplice. Basta creare una nuova colonna con la formula Min(:Col1, :Col2,....,:Coln)
Puoi trascinare e rilasciare tutte le colonne nell'editor delle formule.Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonnese voglio utilizzare solo un intervallo di colonne, NON tutte le colonne, come posso scriverlo? Diciamo che voglio usare solo dalla 10a alla 100a colonna per tutte le righe; come faccio a scriverlo?Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonneEcco una semplice formula che troverà tutte le colonne continue nella tabella dati e quindi calcolerà il valore massimo per tali colonne.Usalo semplicemente come formula per una nuova colonna
If( Row() == 1,
theList = Current Data Table() << get column names( continuous )
);
Max( theLIst );
Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonneCIAO @tonkatsu2020 ,
Qualcosa che potresti voler considerare è se la tua tabella dati è "orientata" o organizzata nel modo giusto o meno. Normalmente, vorresti avere una singola colonna con i dati e quindi le righe sarebbero ogni nuova istanza di qualunque cosa tu stia guardando.
Potresti prendere in considerazione la trasposizione dei tuoi dati. Quindi, è semplice trovare Col Maximum() e Col Minimum(). Tuttavia, questo potrebbe non essere quello che stai cercando. Puoi condividere una versione anonima della tua tabella? Ciò potrebbe aiutarti a capire come sono strutturati i tuoi dati e cosa vuoi farne.
DS
Re: come eseguire lo script per trovare il valore della data massimo e minimo in una riga per oltre 100 colonneCIAO,
Hai considerato di trasporre i tuoi dati (le righe diventano colonne e reciprocamente)? Sarai quindi in grado di utilizzare le formule Col Minimum e Col Maximum.
Migliore,
TS