Calcola la media mobile in base a 2 colonne categoriali e ai dati combinatiHo un set di dati con dozzine medie di uova per OrderId e OrderDate per Trial (Before, After) e TrialWeek (1, 2, 3, 4, 5). Vorrei utilizzare la funzione Media mobile per calcolare le dozzine medie alla fine di ogni settimana, utilizzando i dati delle settimane precedenti, quindi inserire questo numero in una nuova colonna. Quindi dovrebbero essere ripetute dozzine medie per ogni riga che hanno la stessa settimana di prova e settimana di prova.
Per esempio:
Trial == Before & TrialWeek == 1 = Dozzine medie per TrialWeek 1
Trial == Before & TrialWeek == 1 & 2 = Dozzine medie di TrialWeek 2
Trial == Before & TrialWeek == 1 & 2 & 3 = Dozzine medie di TrialWeek 3 e così via.
Moving Average vuole che io inserisca il numero di righe su cui viene calcolata la media, tuttavia il numero di righe per TrialWeek non è lo stesso, quindi non posso usare un numero fisso di righe per calcolarlo. So che avrò bisogno di scrivere una formula per farlo, ma sono bloccato su come comporre la formula. Sto usando JMP Pro 16. Qualsiasi aiuto sarebbe molto apprezzato!
ScriptingOggetto: Calcola la media mobile in base a 2 colonne categoriali e ai dati combinatiE 'questo quello che stai cercando?

x = .;
curWeek = :TrialWeek;
If( :Trial == "Before" & :TrialWeek != :TrialWeek[Row() + 1],
x = Col Mean( If( :Trial == "Before" & :TrialWeek <= curWeek, :Dozens, . ) )
);
x;
Oggetto: Calcola la media mobile in base a 2 colonne categoriali e ai dati combinatiGrazie @txnelson !
Ho regolato il codice per calcolare anche la media mobile per Trial == After, quindi sembra funzionare. Ma ho notato che il codice non stava calcolando la media mobile per TrialWeek == 1 a meno che non avessi ordinato la tabella.
x = .;
curWeek = :TrialWeek;
If(
:Trial == "Before" & :TrialWeek != :TrialWeek[Row() + 1], x = Col Mean( If( :Trial == "Before" & :TrialWeek <= curWeek, :Dozens, . ) ),
:Trial == "After" & :TrialWeek != :TrialWeek[Row() + 1], x = Col Mean( If( :Trial == "After" & :TrialWeek <= curWeek, :Dozens, . ) )
);
x;