Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeQuesta opzione o funzione semplificherebbe la creazione di una trasformazione di colonna personalizzata per risolvere il problema descritto da @hogi in una delle risposte successive a conta unico
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeL'indagine su questo problema è in corso e ti aggiorneremo se arriviamo a una soluzione.
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeUn altro esempio: scrivere una funzione più fluida personalizzata come un filtro Savitzky-Golay che ignora le righe escluse.Questo può essere calcolato in modo efficiente per l'intera colonna contemporaneamente quando viene valutata la prima riga, vorrei memorizzare nella cache i valori dell'intera colonna durante la prima valutazione e quindi restituire semplicemente il risultato precalcolato in ciascuna riga invece di ricalcolarlo ogni volta.
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeSì, l'ho notato anch'io, ma certo che lo stavi usando in quel modo. Sembra prendere troppo sul serio la parte "costante" per quello che vorrei. Dovremo indagare, ma probabilmente sono necessarie nuove funzionalità per il riconoscimento delle dipendenze/riesecuzione.
Per casi come il tuo, normalmente faccio dipendere la formula da una variabile di tabella e aggiorno la variabile di tabella ogni volta durante il ciclo per avere un nuovo valore casuale.
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeCIAO @XanGregg ,
Potrebbe mancarmi qualcosa, ma non riesco a far rivalutare As Constant quando le formule della tabella vengono eseguite di nuovo.Sembra (probabilmente correttamente) memorizzare nella cache il suo valore finché la tabella è aperta. Ecco un esempio più completo che risolve questo problema utilizzando una variabile globale.
Visualizza altro... Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeHai visto la funzione As Constant(x)? Questo dovrebbe gestire la parte unica della richiesta.
Local(
{startofweek = As Constant(
Random Uniform(
Col Min( :Timestamp ),
Col Max( :Timestamp ) - In Days( 7 )
)
)},
If( :timestamp > startofweek & :timestamp < startofweek + In Days( 7 ),
1,
0
)
)Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeGrazie per l'esempio e le informazioni aggiuntive @ih . Modificato lo stato in investigazione.
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache valori tra righe - Stato modificato in: Analisi in corsoRi: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeEcco un paio di potenziali casi d'uso, so che ce ne sono altri che sto dimenticando in questo momento.Molti di questi possono essere risolti facilmente per tabelle di piccole dimensioni o utilizzando più colonne o variabili di tabella, ma fornire una variabile di contesto di colonna li renderebbe più semplici.
- Utilizza un valore casuale nella formula della colonna in modo che possa essere scambiato in una simulazione
// this value should be cached and re-used for all rows,
// but it should change each time the column is recalculated
startofweek = Random Uniform(
Col Min( :Timestamp ),
Col Max( :Timestamp ) - In Days( 7 )
);
If( :Timestamp > startofweek & :Timestamp < startofweek + In Days( 7 ),
1,
0
);
- Il numero di righe dall'inizio dell'ultimo campione fuori specifica.
- C'è tempo fino alla fine di questa campagna
- Media mobile degli ultimi 10 campioni per questo codice prodotto
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righePenso che questo post potrebbe dimostrare il problema Creazione di una funzione statistica personalizzata (formula) con byVar
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righe - Stato modificato in: Richiede informazioni@ih potresti condividere un esempio di tabella dati che illustri il problema che descrivi?
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righe@hogi - Qui stai interpretando la mia risposta al caso del supporto tecnico fuori contesto. mi riferivo a Trasformazioni personalizzate visto che è quello che hai chiesto.
Non ho detto nulla sulle funzioni personalizzate in generale.
All'interno dell'editor di formule stesso, in genere esistono modi per passare un riferimento di colonna a una funzione personalizzata, ad esempio racchiudendolo in Expr(). Oppure modi in cui JMP riconosce che dovrebbe utilizzare una colonna, ad esempio nell'invio di messaggi.
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeahi, la risposta è ancora più triste: *)

*) TS-00063463
Ri: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righe
@ih ha scritto:
La formula richiederebbe inoltre l'accesso all'intera colonna anziché solo alla riga corrente, quindi il riferimento alla colonna dovrebbe essere passato senza essere valutato.
@Jeff_Perkinson , per quanto riguarda TS-00063463, penso che la triste risposta sia: non ancora.
Quindi, oltre alla velocità, al momento è semplicemente impossibile implementare molte attività tramite funzioni personalizzate.
stato: Indagando -> sembra promettente 
Spero che ci sia un modo per ottimizzare le funzioni personalizzate per accettare i riferimenti alle colonne come parametro in una delle prossime versioni...
https://community.jmp.com/t5/Discussions/Column-reference-in-custom-function/mp/265085/highlight/true#M51645
Re: Opzione o funzione per valutare una formula di colonna personalizzata in una sola volta o memorizzare valori nella cache tra le righeNello specifico, ho bisogno di questa funzionalità per le funzioni personalizzate che vengono aggiunte tramite:
aggiungi funzioni personalizzate (nuova funzione personalizzata ())
Le trasformazioni personalizzate sono solo una delle applicazioni di questo fantastico framework.
modificare:
per esempio
Names Default To Here( 1 );
Add Custom Functions(
New Custom Function(
"COL",
"Median",
Function( {value, byGroup},
Col Median( value, byGroup )
),
<
<FORMULA category=""></FORMULA>
<P><A href="https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/m-p/887467/highlight/true#M104961" target="_blank">https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/mp/887467/highlight/true#M104961</A> </P>
Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeAlcune formule di colonna integrate come Col Mean() sono molto veloci perché calcolano valori costosi solo una volta e li restituiscono o modificano per ogni riga.Con le formule personalizzate questo è più difficile da ottenere perché ogni riga viene valutata separatamente.A volte l'utilizzo di una colonna separata per memorizzare valori intermedi può velocizzare le cose (ad esempio memorizzare gli indici di riga che soddisfano un determinato criterio, invece di ricalcolarli ogni riga), ma diventa complicato e difficile da seguire. Se esistesse un concetto di contesto di colonna tale che la valutazione di una riga possa accedere ai valori intermedi calcolati nella riga precedente, allora uno script potrebbe calcolare i risultati per tutte le righe contemporaneamente e quindi restituirli rapidamente e passare i risultati intermedi a quella successiva riga. La formula richiederebbe inoltre l'accesso all'intera colonna anziché solo alla riga corrente, quindi il riferimento alla colonna dovrebbe essere passato senza essere valutato.
Automazione e scriptingRi: Opzione o funzione per valutare contemporaneamente una formula di colonna personalizzata o memorizzare nella cache i valori tra le righeMetà di una soluzione - o diciamo 1/4:

è una funzionalità molto utile che ho imparato qualche tempo fa da una soluzione fornita da @txnelson :
https://community.jmp.com/t5/JMP-Wish-List/Option-or-function-to-evaluate-a-custom-column-formula-at-once/idc-p/695311/highlight/true# M5011
Se sai che la parte una tantum lo farà Sempre dare lo stesso risultato, potresti prendere in considerazione l'utilizzo Come Costante una funzione personalizzata.
(sotto il codice adattato da https://community.jmp.com/t5/Discussions/Differentiate-between-entire-column-and-current-row/mp/677710/highlight/true#M86405 di @jthi )
La cosa interessante: verrà valutato solo una volta - e mai più (!)
In generale, questa sarà una versione troppo estrema di "una volta" 
Qualsiasi possibilità di modificare il comportamento di Come Costante in una formula personalizzata?
Ad esempio, eseguilo ogni volta riga()==1?
Names Default To Here(1);
row_count = 10;
dt = New Table("test",
Add Rows(row_count),
New Column("Die X", set each value(row())),
New Column("Die Y", set each value(Random Integer(1, row_count * 2)))
);
dt << New Column("Formula As Constant", Numeric, Nominal, Formula(
As Constant(print("direct","");x_m = :Die X << get values);
Contains(x_m, :Die Y) > 0;
));
Add Custom Functions(
New Custom Function(
"test",
"myFunc",
Function( {},
As Constant(print("custom","");x_m2 = :Die X << get values);
Contains(x_m2, :Die Y) > 0;
)));
dt << New Column("Formula via Custom Formula", Numeric, Nominal, Formula(test:myFunc()));
Re: Opzione o funzione per valutare una formula di colonna personalizzata in una volta sola o memorizzare valori nella cache tra le righe - Stato modificato in: RiconosciutoRe: Opzione o funzione per valutare una formula di colonna personalizzata in una sola volta o memorizzare valori nella cache tra le righeCon JMP19 ci saranno alcuni miglioramenti:
ad esempio sarà possibile calcolare ordini di grandezza Col MAD() più velocemente, anche senza colonne fittizie intermedie:
Metodo veloce per calcolare le aggregazioni Col "annidate" - come MAD
Re: Opzione o funzione per valutare una formula di colonna personalizzata in una sola volta o memorizzare valori nella cache tra le righeCiò vale per il tipo di funzioni personalizzate create manualmente in Formula Editor, con un trucco per le funzioni personalizzate create tramite Funzione().
Non contiene le "Funzioni personalizzate" create tramite l'aggiunta di funzioni personalizzate (nuova funzione personalizzata ().