Ho del codice che usa i nomi in una colonna per controllare il numero di righe in un altro datatable che sono sopra o sotto una soglia "outlier" (che vogliamo usare solo un valore fisso per) per quella colonna.
il codice è sotto normalmente lo facciamo da 30 a 50 colonne (quindi per ogni riga itera da 30 a 50 volte). sta attualmente prendendo 26 secondi, su un datatable (quello in cui vengono contati i valori anomali_ che contiene solo un piccolo numero (200) di righe. quindi qualcosa sembra troppo lento.
Ho provato a fare tabulate e stavo pensando di riassumere - ma ho bisogno di contare sopra una semplice soglia. qualche suggerimento su come farlo più velocemente? Ho bisogno di essere in grado di completare per il numero di artbitrary di columsn, come memorizzato nel "rankdt: Analysis Columns" nel codice qui sotto.
Ho provato a cambiare "get rows where" a "select where", quindi a contare le righe selezionate, ma ciò non rendeva differente la velocità.
Grazie,
jetpeach
for each row( // for each row in rankdt - 30 to 50 rows
col_to_count = char(rankdt:Analysis Columns);
rowsAbove= jdt<<GET rows="" where=""> outlier_flag_threshold);
:Above flag =N rows(rowsAbove);
rowsBelow= jdt<<GET rows="" where=""></GET></GET>
Appare come una situazione in cui i calcoli a matrice o l'uso delle funzioni di ColStat potrebbero accelerare le cose.
Non mi è chiaro come siano organizzate le tue tabelle e le soglie. Potresti condividere
tabelle di esempio?