Geben Sie sequentiellen "Läufen" einen Wert, der auf dem Minimum bis zum Maximum von datetime basiert.Hallo Leute,
Ich habe nach einer Möglichkeit gesucht, dies zu tun, aber ich habe sie noch nicht online gefunden.
Ich habe mehrere Fahrten, die eine eindeutige ID haben. In diesem Fall verwende ich das Label CAR1, um ein Fahrzeug eindeutig zu identifizieren. Dieses Fahrzeug wird wie gezeigt mehrere Zeitstempel haben
Fahrzeugzeit
CAR1 10:10 Uhr
CAR1 12:30 Uhr
CAR1 17:30 Uhr
Ich möchte einen Weg finden, jede Zeile nacheinander so mit einer neuen Spalte n zu beschriften.
Fahrzeugzeit N
CAR1 10:10 Uhr 1
CAR1 12:30 Uhr 2
CAR1 17:30 Uhr 3
Gibt es eine schnelle Möglichkeit, dies zu codieren.
Ich möchte, dass JMP hier den Wechsel zum nächsten CAR erkennt, also wenn ich dann Einträge für CAR2 hätte, dass es einen eigenen Zähler hat und für den früheren Zeitstempel bei 1 beginnt.
Fahrzeugzeit N
CAR1 10:10 Uhr 1
CAR1 12:30 Uhr 2
CAR1 17:30 Uhr 3
CAR2 14:10 Uhr 1
CAR2 18:30 Uhr 2
CAR2 19:30 Uhr 3
Jede Hilfe sehr geschätzt.
Vielen Dank!
Betreff: Sequentielle "Läufe" einen Wert geben, der auf der minimalen bis maximalen Datumszeit basiert.Du könntest auch versuchen:
Col Rank( :PDATETIME, :CAR )
was einige Vorteile haben könnte (abhängig davon, was man über die anfängliche Sortierreihenfolge in der Tabelle annehmen kann und was nicht).
Betreff: Sequentielle "Läufe" einen Wert geben, der auf der minimalen bis maximalen Datumszeit basiert.Das funktioniert perfekt, danke!

Betreff: Sequentielle "Läufe" einen Wert geben, der auf der minimalen bis maximalen Datumszeit basiert.Eine Formel gibt das letzte berechnete Element zurück und erkennt anscheinend den Wert von count nicht, wenn das erste Element in der If()-Funktion ausgewertet wird.Die Lösung besteht also darin, einfach zu erzwingen, dass count das letzte Element ist, das in der Formel ausgewertet wird:
If( :CAR != Lag( :CAR ),
count = 1,
count
++);
count;
Betreff: Sequentielle "Läufe" einen Wert geben, der auf der minimalen bis maximalen Datumszeit basiert.Vielen Dank für Ihre Antwort @txnelson
, ich bin die LAG- und DIF-Funktionen durchgegangen und bin jetzt damit vertraut, was sie tun. Ich habe die von Ihnen vorgeschlagene Formel ausprobiert, sie kommt dem nahe, wonach ich suche, aber sie kennzeichnet sowohl die erste als auch die zweite Instanz innerhalb einer Gruppe als 1 und startet die Sequenz danach. Gibt es eine Möglichkeit, die Sequenz bei 1 zu starten und von dort aus zu inkrementieren? Dies wäre äußerst nützlich und es ist etwas, das ich fast täglich verwenden werde.

Betreff: Sequentielle "Läufe" einen Wert geben, der auf der minimalen bis maximalen Datumszeit basiert.Dies ist eine häufig gestellte Frage im Diskussionsforum.Eine Suche nach "Sequence" wird viele davon finden. Hier ist jedoch eine einfache Formel zu verwenden
If( :Vehicle != Lag( :Vehicle ),
count = 1,
count
++)