Il modo migliore per tenere traccia del valore iniziale per una tendenza temporaleTutti,
Hai bisogno di un consiglio su come organizzare al meglio questo.
Quindi, ho una tabella che tiene traccia di un parametro per poche categorie nel tempo. Devo avere una colonna che mostri la variazione percentuale rispetto a un valore iniziale.
Diciamo che è un inseguitore di peso. Abbiamo il peso iniziale e monitoriamo le variazioni percentuali. Quello che ottiene più del 15% in 30 giorni - vince.
Per tracciare che ho creato una tabella come questa:
In questa tabella ho inserito i pesi iniziali come variabili di tabella e creato una colonna nascosta che mostra solo il peso iniziale in base al nome:

Dopodiché, tutto ciò che devo fare è fare clic sullo script di Dashboard e visualizzare tutti i grafici.

Il mio obiettivo è renderlo il più possibile user-friendly, in modo che praticamente chiunque possa inserire i dati senza pensare troppo. Quindi ho alcune domande per la comunità:
Ora, diciamo che abbiamo una nuova persona che si unisce al gioco e dobbiamo inserire un nuovo nome.
- Per fare ciò è necessario creare una nuova variabile di tabella con il nome corretto.
- Quindi modifica la formula nella colonna nascosta "InitialWeight" o aggiungi quel nome
- Quindi aggiungi questo nome come opzione consentita per la colonna "Nome".
Tutto ciò non è molto facile da usare. Inseriamo essenzialmente gli stessi dati tre volte. C'è un modo per farlo solo una volta? Diciamo che abbiamo inserito una nuova variabile.
- C'è un modo per dire in formula - "restituire il valore della variabile con lo stesso nome del valore della colonna" Nome ""?
- C'è un modo per dire: "i miei valori consentiti sono i nomi delle variabili della mia tabella"?
O forse c'è un altro modo per impostare un nuovo nome e un modo iniziale e inserire organicamente tali informazioni in formule? Tutto ciò a cui riesco a pensare è scrivere un'app completa per gestirlo, ma forse c'è un modo pratico per farlo fuori dagli schemi?
Grazie,
M.
Re: il modo migliore per tenere traccia del valore iniziale per una tendenza temporaleSono d'accordo, la sceneggiatura completa sarebbe la migliore. Tuttavia, questo excersize era finalizzato a qualcosa che è possibile impostare in 10-15 minuti con funzionalità minime. Oppure, utilizzando la funzionalità che esiste già.
Grazie per i suggerimenti! Penso che sia un modo più elegante. Tuttavia, non tutto è immediatamente chiaro nel codice, quindi dovremo sederci sopra per un po '.
Grazie ancora!
Re: il modo migliore per tenere traccia del valore iniziale per una tendenza temporaleMiguello,
La mia interpretazione di ciò che hai descritto è che hai questa tabella a cui può accedere una comunità di utenti. Probabilmente farei qualcosa di diverso come un componente aggiuntivo. Ma usando la tua interfaccia da tavolo, vorrei:
- Rimuovi le variabili del nome e rimuovi la colonna nascosta
- Aggiungi uno script chiamato New Member Registry, in cui all'utente viene richiesto un nome e un peso. Le informazioni vengono utilizzate per aggiornare un array associativo chiamato registy = Associative Array ({"Marvin", 280}, {"Smith", 205}, {"Jones", 201}, ecc.); Una volta definito, registy ["Marvin"] restituisce il valore 250.
- Aggiungi uno script chiamato Inizializza o Aggiorna, questo è lo script che esegue la definizione del registro, quindi i valori sono in memoria.
- Cambia la formula da essere t0 = registro << ottieni valore (: Nome); (: Peso - t0) / t0) * 100
Il file allegato è un mockup. Non hai menzionato quale versione di JMP stai usando? Questo funziona per JMP14. Se si dispone di una versione precedente del registro JMP, sarà necessario essere una funzione anziché un array associativo.
Penso che l'utilizzo di uno script aggiuntivo sia più efficace degli script e delle costanti incorporati in una tabella che gli utenti possono modificare.
Re: il modo migliore per tenere traccia del valore iniziale per una tendenza temporale
L'unico problema è che per andare a leggere le variabili aggiornate è necessario andare alla schermata di modifica delle formule e almeno fare clic sul pulsante Applica. In qualche modo intorno a questo?
Lo riprendo, aggiorna la formula. Non immediatamente, ma non appena premi invio e aggiungi un'altra riga.
Re: il modo migliore per tenere traccia del valore iniziale per una tendenza temporaleOk, il primo passo sarebbe sostituire l'espressione Match () in Formula per la colonna "InitialWeight" con il seguente codice:
Names = Current Data Table() << Get Table Variable Names();
formula_pre = "Match( :Name";
formula = formula_pre;
formula_post = ")";
For( i = 1, i <= N Items( Names ), i++,
formula = formula || ", \!"" || Names[i] || "\!", :" || Names[i]
);
formula = formula || formula_post;
Eval( Parse( formula ) );
Ciò richiederà l'elenco delle variabili di tabella e il costrutto wil e valuterà una formula Matach () in base all'elenco.
L'unico problema è che per andare a leggere le variabili aggiornate è necessario andare alla schermata di modifica delle formule e almeno fare clic sul pulsante Applica. In qualche modo intorno a questo?
Grazie,
M.