Come calcolare le medie mobili per le righe selezionateCiao a tutti!
Sto cercando di scrivere uno script che calcoli le medie mobili utilizzando le righe selezionate in una tabella.
Per preparare il terreno:
Ho una tabella dati (esempio allegato) con più esecuzioni (ID univoco) di un processo in 3 fasi (A, B, C). C'è un valore segnalato per ogni fase e questi valori vengono sommati per dare un valore totale per ogni occasione. Vorrei avere una colonna che riporti una media mobile del totale. Ho esaminato alcune delle discussioni e ho ricevuto alcuni buoni suggerimenti su come farlo (ad esempio, medie mobili per ogni ID univoco... QUESTO esempio è stato utile e la formula è in: Media mobile (ID univoco).
Il prossimo passo che vorrei fare è includere SOLO un sottoinsieme delle esecuzioni in questa valutazione. Le esecuzioni sono evidenziate in rosso e il risultato desiderato (in questo caso la media mobile di sole tre occasioni) è in :Risultato desiderato.
Ho problemi con lo script per selezionare il sottoinsieme di esecuzioni per la valutazione.
Inoltre, sono relativamente nuovo in JSL e gradirei suggerimenti su come ottenere il risultato finale in modo più pulito ed efficiente.
Grazie in anticipo per il vostro aiuto!
Cristo
Automazione e scriptingAnalisi e modellazione dei dati di baseFusione e pulizia dei datiRe: Come calcolare le medie mobili per le righe selezionateSu cosa si basa la selezione di queste tre righe?
Re: Come calcolare le medie mobili per le righe selezionateJarmo,
Questo processo viene eseguito in due impostazioni diverse: una per l'uso in fase di sviluppo e l'altra per l'uso "ufficiale" (se ha senso).
e quelle tre linee rappresentano quest'ultima. Per la media mobile non voglio includere le esecuzioni di sviluppo. Tuttavia, VOGLIO includere tutti i dati nel foglio di tracciamento/tendenza, quindi ho una "fonte di verità unica" che rappresenta tutte le impostazioni/operatori/ecc. Il foglio allegato rappresenta solo un set minimo di informazioni per aiutare ad affrontare la domanda della community JMP.
Ho creato dataset simili nel corso degli anni e ho appena iniziato a lavorare con JSL per cercare di sviluppare flussi di lavoro più efficienti. Tuttavia, non ho alcuna formazione in programmazione, quindi sono ancora su una curva di apprendimento ripida. Questo gruppo è stato davvero utile!
Cristo
Re: Come calcolare le medie mobili per le righe selezionateMi chiedo solo come scegliere le righe corrette di interesse. Si fa in base al colore o alle celle in colonne specifiche? Si selezionano le righe manualmente e poi si calcola la media mobile da quelle righe selezionate?
Ad esempio, potresti fornire una colonna di raggruppamento e quindi utilizzarla
If(!Is Missing(:Group),
Col Moving Average(As Column("Total (Sum of Stages for each Unique ID)"), 1, :Group),
.
)

Potresti anche creare un sottoinsieme di sole quelle righe (magari una collegata) per rendere il calcolo ancora più semplice (modifica: questo non funzionerà con il sottoinsieme collegato anche se sembra così nell'anteprima)
Col Moving Average(As Column("Total (Sum of Stages for each Unique ID)"), 1)

Col Moving Average(nome, opzioni, ) può essere una buona lettura in quanto è una delle funzioni di formula più confuse
Re: Come calcolare le medie mobili per le righe selezionateAhh...ora ho capito la tua domanda.
Stavo pensando di selezionare le righe in cui :Da includere == Sì. Esiste un modo migliore?
Leggerò quella documentazione...la funzione mi ha sicuramente confuso!
Cristo
Re: Come calcolare le medie mobili per le righe selezionateah.. quindi vuoi calcolare la media mobile delle colonne per includere le righe ma riportarla solo sull'ultima riga di ogni ID univoco?

Si noti che questo calcolerà la media mobile utilizzando TUTTI i valori nei gruppi, non solo gli ultimi valori, ma li riporterà nell'ultima riga (rimuovere l'istruzione if per vedere cosa fa realmente)
If(:To Include == "Yes" & Row() == Col Max(Row(), :Unique ID),
Col Moving Average(:"Total (Sum of Stages for each Unique ID)"n, 1, :To Include),
.
)

Puoi anche eseguire il calcolo basandoti solo sulle ultime righe, ma il calcolo diventerà sempre più lento e difficile da leggere.
If(:To Include == "Yes" & Row() == Col Max(Row(), :Unique ID),
Col Moving Average(
If(Row() == Col Max(Row(), :Unique ID),
:"Total (Sum of Stages for each Unique ID)"n,
.
),
1,
:To Include
),
.
)
Sono più facili da capire se li si scompone in molte formule separate
Re: Come calcolare le medie mobili per le righe selezionateGrazie mille! Comincerò a giocarci.
C