Berechnen Sie den gleitenden Durchschnitt basierend auf zwei kategorialen Spalten und kombinierten DatenIch habe einen Datensatz mit durchschnittlichen Dutzenden Eiern pro Bestell-ID und Bestelldatum für den Test (Vorher, Nachher) und die Testwoche (1, 2, 3, 4, 5). Ich möchte die Funktion „Gleitender Durchschnitt“ verwenden, um die durchschnittlichen Dutzende am Ende jeder Woche anhand der Daten der vorherigen Wochen zu berechnen und diese Zahl dann in eine neue Spalte einzugeben. Es sollten also für jede Zeile wiederholte mittlere Dutzende vorhanden sein, die den gleichen Versuch und die gleiche Versuchswoche haben.
Zum Beispiel:
Testversion == Vorher & Testwoche == 1 = Durchschnittliche Dutzende für Testwoche 1
Testversion == Vorher & Testwoche == 1 & 2 = Durchschnittliche Dutzende Testwoche 2
Testversion == Vorher & Testwoche == 1 & 2 & 3 = Durchschnittliche Dutzende Testwoche 3 und so weiter.
Der gleitende Durchschnitt möchte, dass ich die Anzahl der Zeilen eingebe, anhand derer der Durchschnitt berechnet wird. Allerdings ist die Anzahl der Zeilen pro Testwoche nicht dieselbe, sodass ich zur Berechnung keine feste Anzahl von Zeilen verwenden kann. Ich weiß, dass ich dafür eine Formel schreiben muss, aber ich weiß nicht, wie ich die Formel verfassen soll. Ich verwende JMP Pro 16. Für jede Hilfe wäre ich sehr dankbar!
Qualitäts- und VerfahrenstechnikBetreff: Berechnen Sie den gleitenden Durchschnitt basierend auf 2 kategorialen Spalten und kombinierten DatenDanke @txnelson !
Ich habe den Code angepasst, um auch den gleitenden Durchschnitt für Trial == After zu berechnen, also scheint das zu funktionieren. Aber ich bemerkte, dass der Code den gleitenden Durchschnitt für TrialWeek == 1 nicht berechnete, es sei denn, ich hatte die Tabelle sortiert.
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;
Betreff: Berechnen Sie den gleitenden Durchschnitt basierend auf 2 kategorialen Spalten und kombinierten DatenSuchst du danach?

x = .;
curWeek = :TrialWeek;
If( :Trial == "Before" & :TrialWeek != :TrialWeek[Row() + 1],
x = Col Mean( If( :Trial == "Before" & :TrialWeek <= curWeek, :Dozens, . ) )
);
x;