Formula massaggi alla tabella dati<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
Ho migliaia di colonne formula per creare ed eliminare le formule da quelle colonne.
quindi per accelerare il processo aggiungo la formula nei seguenti modi.
dt << Suppress Formula Eval (1);
per loop (
nuova colonna (formula);
dt << Suppress Formula Eval (0);
dt << Esegui formule;
);
2 ° ciclo
for loop (Try (colonna (dt, Newcolname [ik]) << elimina la formula)) ;
Esiste un modo per inviare il massaggio di cancellazione a datatable anziché a ogni colonna.
poiché il ciclo per cancellare le formule richiede più di 5 minuti aggiuntivi.
Qualsiasi lavoro in giro è altamente gradito . il supercomputer non è un'opzione.
Ri: Formula massaggi alla tabella dei datimichael.anderson
Ciao Michael, la tua idea sembra molto interessante per la creazione di una formula usando i metrizi. ma non sono sicuro di quanto possiamo sfruttare su questi metodi.
di seguito c'è una situazione: ho organizzato il mio nuovo nome e le corrispondenti formule come 2 colonne in un foglio Excel, a sinistra sono nuovi nomi di colonne da aggiungere nella tabella e la colonna destra ha molte formule complesse.
ora devo aggiungere questo tipo di 100 o 1000 formule usando per ciclo (finora so). così il ciclo FOR non sa cosa sia costante e quale sia il nome della colonna. quindi uso namexpr per ottenere ciò: column (dttable, Newcolname [ij]) << imposta la formula (nameexpr (newcol1))
quindi la mia domanda sarebbe, c'è un modo simile (usando expr) per fare lo stesso con le matrici senza ottenere i valori delle colonne in una matrice << GetAsMatrix?
newcol1 = 34 * col1 / 54 * col2-col3 / 2
newcol2 = col1 / 54 * col2-col3 / 2
newcol3 = 36 + col1 / 54 * col2-col3 / 2
newcol4 = 37 * * 1E6 col1 / 54 * col2-col3 / 2
Grazie, ariete
Ri: Formula massaggi alla tabella dei datiGrazie MS. il tuo approccio alla creazione di un nuovo tavolo tramite concatenato è favoloso. mantiene tutte le variabili della tabella e l'ordine delle righe ecc. ma senza formule. mi ha aiutato a eliminare la quantità eccessiva di tempo che è stata utilizzata per eliminare le formule. @!
Grazie per il grande suggerimento. Formula massaggi alla tabella dati
Ri: Formula massaggi alla tabella dei datiInteso... tutto quello che chiedi è ancora possibile lavorare con i dati come una matrice ... quello che propongo è che ottieni i dati come una matrice, fai i calcoli e poi scrivi i risultati su una tabella di dati. È quindi possibile aggiungere i limiti delle specifiche, le unità, ecc. Come si stava facendo, ma elimina la necessità di aggiungere e quindi rimuovere le formule dalla tabella dei dati. In generale, da dove proviene il rallentamento è la modifica della tabella di dati stessa che è (credo) fondamentalmente in fase di ricostruzione ogni volta che si modifica la formula.
Se vuoi davvero conservare tutto nella tabella dati, impostare la formula della colonna su Empty () potrebbe essere più veloce dell'eliminazione ... ma dovresti provarlo per saperlo con certezza.
Migliore,
M
Ri: Formula massaggi alla tabella dei datiCiao M,
Sono sicuro che la metrica è molto più veloce invece di utilizzare le tabelle di dati. ma ho bisogno di dati nella tabella perché è necessario utilizzare il filtro dati locale per identificare miglioramenti molto piccoli all'interno degli split.
ecco i passaggi coinvolti
1. formula necessaria per normalizzare i parametri elettrici grezzi da W e L, ad es. Ion * W / * Wa.
2. i limiti delle specifiche sono uniti insieme alla conversione dei dati in unità appropriate come pA, uA, nA, mV, mW moltiplicando con il fattore appropriato.
3. il passaggio 2 si applica anche ad alcuni parametri grezzi che sono necessari. questo è dove è necessario eliminare la formula, in modo che le nuove colonne possano essere convertite in modo interdipendente.
Nota:
1. non possiamo unire la formula e il file di limitazione delle specifiche, poiché il limite delle specifiche continua a essere aggiornato. quindi deve tenerlo separato.
2. anche la conversione delle unità di fusione non è un'opzione.
ariete
Ri: Formula massaggi alla tabella dei datiram.asra@gmail.com
Ciao! Forse tornare indietro di un passo e scoprire perché le migliaia di colonne con le formule sono necessarie potrebbe essere un punto di partenza migliore.
So che calcolare i valori all'interno della memoria come una matrice è molto più veloce rispetto a farlo con le tabelle di dati. Ciò ometterebbe anche la necessità di colonne in primo luogo. C'è stata una discussione abbastanza sana intorno a questo punto al Discovery di quest'anno, con la migliore pratica di evitare l'uso di formule di colonna negli script dove mai possibile.
Puoi aiutarci a capire un po 'di più il caso d'uso?
Migliore,
M
Ri: Formula massaggi alla tabella dei datiUna soluzione che mi viene in mente è di utilizzare la formula che elimina il potere di Concatenate (). Il codice seguente crea una copia della tabella di dati, comprese eventuali variabili o script di tabella, ma senza formule.
dt = Tabella dei dati corrente () ; // Tabella con le formule da eliminare
new_dt = dt << Concatenare ( dt_temp = Nuova tabella ( "Temp" , Nuova colonna ( "cancellami" ))) ;
new_dt << elimina la colonna ( "cancellami" ) ;
Vicino ( dt_temp , nosave ) ;