Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungHallo allerseits,
Ich muss den Maximalwert in einer Spalte (:PMA Counter) finden, nachdem ich die Bedingung in einer anderen Spalte (:Condition) überprüft habe. Die Bedingungsspalte enthält „Nachher“- und „Vorher“-Zeichen für die verschiedenen Zeilen.
Ich möchte diejenigen auswählen, die „Nachher“ sind, und das Maximum von (:PMA Counter) zwischen ihnen festlegen.Ich verwende bereits das folgende Skript, aber es funktioniert nicht und gibt mir nur den Maximalwert, ohne die Spalte „Bedingung“ zu berücksichtigen.
dt=Aktuelle Tabelle();
dt< dt<Erweiterte statistische ModellierungAutomatisierung und SkripterstellungDatenzugriffDatenmischung und -bereinigungMassenanpassungBetreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungTolle Lösung
Danke:)Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen Spaltenbedingung
Ich habe die Spalte „Aktueller PMA-Zähler“ versehentlich als Zeichenfolge erstellt und sie musste numerisch sein. Die folgende JSL scheint zu funktionieren
names default to here(1);
dt=current data table();
dt << New Column( "Current PMA Counter",
Formula(
If( Row() == 1,
x = Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungDie Daten können Sie im Anhang einsehen.
Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungKönnen Sie eine Beispieldatentabelle anhängen, auf die Sie dies anwenden?Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungDanke, Jim
Der Wert wird zwar gefunden, erscheint aber aus irgendeinem Grund nicht in der Spalte. DER aktuelle PMA-Zähler ist komplett leerBetreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungHier sind einige Versionen der Formel (sie sind nicht getestet).Sie unterscheiden sich darin, worauf der Col Max basiert
// formula where col max is based upon only rows with "After" in PMA Counter
// and the Col Max only appears in rows where PMA Counter has "After" in it
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula(
If( Row() == 1,
x = Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
// formula where col max is based upon all rows
// and the Col Max only appears in rows where PMA Counter has "After" in it
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula(
If( Row() == 1,
x = Col Max( :PMA Counter )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungIch meinte, dass nur die Zeilen, die „Nachher“ in der Spalte „Bedingung“ hatten, den Maximalwert in der Spalte „Aktueller PMA-Zähler“ erhalten. Andere Zeilen bleiben leer.Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungIch verstehe nicht, wonach Sie fragen.Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungKann ich das Maximum nur in den Zeilen haben, die sich auf „Nachher“-Zeilen beziehen?Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungVielen Dank Jim
Betreff: Ermitteln des Maximums einer Spalte durch Übereinstimmung mit einer anderen SpaltenbedingungDie Zeilenauswahl wird von der Formel nicht berücksichtigt.Hier finden Sie eine Möglichkeit, mit dem umzugehen, was Sie benötigen
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula( Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) ) )
);