Wie wähle ich Zeilen zwischen Datumsbereichen aus?Hallo alle,
Ich versuche herauszufinden, wie ich mithilfe von Daten aus einer Spalte nach dem letzten Datum Zeilen auswählen kann, die für einen Datumsbereich spezifisch sind.
Gibt es eine Möglichkeit, dies in einer for-Schleife zu tun?

Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Danke Jim,
Sehr einfache Lösung. Aufgrund der Art und Weise, wie die Messungen durchgeführt werden, habe ich mehrere Parameter, die das maximale Datum wiederholt haben. Es hat trotzdem funktioniert. Unten ist das Skript, das ich mir ausgedacht habe. Ich habe jedoch einen weiteren logischen Albtraum geschaffen, indem ich herausgefunden habe, welche Teilmengentabelle die aktuellste Teile-ID hat. Ihre Lösung war viel einfacher.
dt = data table ("XYZ");
// Get unique values
uVals = AssociativeArray(:Part ID << getValues) << getKeys;
// Make Subset Tables
for(g = 1, g <= NItems(uVals), g++,
r2get = dt << getRowsWhere(:Part ID == uVals[g]);
dt2 = dt << subset(Rows(r2get));
dt2 << setName("subset ");
Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Sie können boolesche Ausdrücke als Argument verwenden << Wählen Sie „Wo“. Nachricht. Das heißt, Sie können das Logische verwenden Und , oder , Und nicht Verwenden Sie Funktionen oder Operatoren, um sowohl das Datum als auch das Produkt zu erhalten, das beide Kriterien erfüllt. Wenn es sich um eine serielle Suche handelt, müssen Sie möglicherweise zuerst das letzte Datum ermitteln und es verwenden, um die Produkt-ID zu ermitteln.
Du kannst den ... benutzen << Zeilen abrufen Where( ... ) Nachricht, um die Zeilennummern zurückzugeben, die Ihrem Datumskriterium entsprechen. Sie können diesen Vektor verwenden, um diese Zeilen aus der Datenspalte zu subskribieren, um alle Teile-IDs als Liste zu erhalten. Sehen Sie sich dann die Liste an, um das gewünschte zu finden.
Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Ich hoffe, dass ich Ihre Frage richtig interpretiere.Das folgende Skript findet die Zeile, die die Part_ID des maximalen Datums enthält, und wählt dann alle Zeilen aus, die diesen Part_ID-Wert haben
Names Default To Here( 1 );
dt = Current Data Table();
// Find the Row(s) that have the current Max Date
MaxRows = dt << get rows where( dt:Date == Col Max( dt:Date ) );
// MaxRows is a matrix that contains all of the rows that have the
// max date. Since your "Date" column is actually a date time
// value that contains minutes and seconds, it is doubtful that
// more than one row will have the Max value. However, we will
// now just get the last row from that matrix
TheRow = MaxRows[N Rows( MaxRows )];
// Now we can get the Part_ID for the row in question
TargetPartID = dt:Part_ID[TheRow];
// Now select all rows that have that Part_ID
dt << seleect where( dt:Part_ID == TargetPartID );
Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Ich glaube, ich habe mich nicht gut erklärt.
Zuerst möchte ich alle Zeilen mit dem letzten Datum auswählen;
dt << select where(name ("Date") == col Max(:Date));
Als nächstes möchte ich nur die Zeilen mit der TEIL-ID auswählen, die der neuesten TEIL-ID entspricht (id ist das maximale Datum).
Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Ich glaube, ich habe mich nicht gut erklärt.
Zuerst möchte ich alle Zeilen mit dem letzten Datum auswählen;
dt << select where(name ("Date") == col Max(:Date));
Als nächstes möchte ich nur die Zeilen mit der TEIL-ID auswählen, die der neuesten TEIL-ID entspricht (id ist das maximale Datum).
Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Wenn die Daten in diesem Fall fest sind, können Sie einen Literalwert oder einen konstanten Wert verwenden. Es sieht genauso aus wie die obige Zeichenfolge, ist jedoch nicht in doppelte Anführungszeichen gesetzt. JMP interpretiert diesen Wert als entsprechendes Datum und Uhrzeit (und zeigt ihn an). Das heißt, Sie müssen nur eintreten
Date > 20Dec2015:00:00:00
in diesem Fall. Dieser Weg ist prägnanter und macht die Auseinandersetzung mit Formaten und Bedenken überflüssig. Sie müssen auch nicht die vollständige Spezifikation verwenden. So viel ist ausreichend:
Date > 20Dec2015
Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Hier ist eine einfache Lösung mit Select Where:
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where(
:Date > Informat( "20Dec2015:00:00:00", "MDYHMS" ) &
:Date <= Informat( "20Dec2016:00:00:00", "MDYHMS" )
);
Sie können dies auch interaktiv erreichen, indem Sie das Pulldown-Menü für die Datentabelle verwenden:
Zeilen==>Zeilenauswahl==>Wo auswählen
Betreff: Wie wähle ich Zeilen zwischen Datumsbereichen aus?Die konkrete Absicht besteht darin, die neue Teile-ID von der alten Teile-ID zu trennen