Wie erstelle ich eine Gegenspalte "innerhalb des Tages"?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich habe eine Tabelle mit Messungen, einige werden innerhalb des Tages und einige an verschiedenen Tagen durchgeführt. Ich möchte eine Spalte erstellen, die der Messung eine eindeutige Identifizierungszeichenfolge mit Datum und einer SEQUENTIAL NUMBER FOR THE DAY gibt.
Das würde so aussehen:
| Kennung | Datum | Daten |
| M160723-0001 | 23-07-16 | 3445 |
| M160723-0002 | 23-07-16 | 2455 |
| M160723-0003 | 23-07-16 | 2234 |
| M160723-0004 | 23-07-16 | 2334 |
| M160723-0005 | 23-07-16 | 2455 |
| M160725-0001 | 25-07-16 | 7658 |
| M160725-0002 | 25-07-16 | 6785 |
| M160725-0003 | 25-07-16 | 7657 |
| M160725-0004 | 25-07-16 | 5678 |
| M160725-0005 | 25-07-16 | 6575 |
| M160729-0001 | 29-07-16 | 7889 |
| M160729-0002 | 29-07-16 | 5764 |
| M160729-0003 | 29-07-16 | 4565 |
Die Spalte, die JMP erstellen muss, ist die "Identifier-Spalte". Ich habe mit Row (), Subscript () und anderen Funktionen gespielt, aber es ist mir nur gelungen, JMP zum Absturz zu bringen.
Ich habe dieses Stück Formel für den ersten Teil, aber ich habe Schwierigkeiten mit dem Gegenstück:
"M" || Rechts (Zeichen (Jahr (: Datum)), 2) ||
Zeichen (Monat (: Datum)) || Zeichen (Tag (: Datum))
|| "-" || ????
Anregungen sind herzlich willkommen!
Re: Wie erstelle ich eine Gegenspalte "innerhalb des Tages"? Msharp , Entschuldigen Sie, Ich wollte die Hilfe wirklich nicht unterschätzen beide txnelson und FRAU . Die Lösung geht voll auf sie ein. Ich habe versucht, ihre Hilfe in meinem letzten Beitrag zu schätzen.
Ich habe meine Antwort als richtig markiert, damit zukünftige Benutzer, die im Forum suchen, die vollständige Lösung leicht finden können. Wenn dies jedoch so wahrgenommen wird, dass ich die Lösung anerkenne, korrigiere ich sie sofort. Wieder entschuldige mich, wenn jemand beleidigt wurde.
Re: Wie erstelle ich eine Gegenspalte "innerhalb des Tages"?Dies ist weder hier noch dort, aber wenn Sie Ihre eigene Antwort als korrekt markieren, wenn TXNelson und MS das Problem im OP eindeutig gelöst haben, ist das sehr unappetitlich.
Re: Wie erstelle ich eine Gegenspalte "innerhalb des Tages"?Ich habe herausgefunden, dass es sich bei mir um eine Art Zeitstempel und nicht um ein Datum handelt. Aus diesem Grund funktionierte es nicht in der Beispieldatei, die ich gepostet hatte. Ich habe das aber mit "dayofyear" gelöst.
Ich habe ein Stück von jeder vorgeschlagenen Lösung verwendet, dank beidem txnelson und FRAU für die Hilfe!
Dies ist der endgültige Code, der für mich funktioniert:
Wenn (Row () == 1, Countval = 1); If (Tag des Jahres (: Datum) == Verzögerung (Tag des Jahres (: Datum)), countval = Summe (countval, 1), countval = 1); "M" || Rechts (Zeichen (Jahr (: Datum)), 2) || Rechts ("0" || Zeichen (Monat (: Datum)), 2) || Rechts ("0" || Zeichen (Tag (: Datum)), 2) || "-" || Rechts ("000" || Zeichen (Countval), 4)
Fügte auch die Datei mit der letzten Spalte hinzu.
Re: Wie erstelle ich eine Gegenspalte "innerhalb des Tages"?Danke, MS!
Sehr intelligente Art, die "0s" einzubeziehen!
Ihre Lösung funktionierte mit dem Beispiel, brachte jedoch JMP mit 44000 Zeilen zum Absturz
Vielen Dank!
Re: Wie erstelle ich eine Gegenspalte "innerhalb des Tages"?Ein anderer Weg:
Fügen Sie die folgende Formel in den Spaltenformel-Editor ein. Die Tabelle muss nicht nach Datum sortiert werden.
"M" || Recht ( Verkohlen ( Jahr ( : Datum )) . 2 ) ||
Recht ( "0" || Verkohlen ( Monat ( : Datum )) . 2 ) ||
Recht ( "0" || Verkohlen ( Tag ( : Datum )) . 2 ) || "-" ||
Recht ( "000" || Verkohlen ( Eval ( Eval Expr ( Col-Nummer ( Reihe () . : Datum . Reihe () <= Ausdruck ( Reihe ())))) . 4 ) ;
Re: Wie erstelle ich eine Gegenspalte "innerhalb des Tages"?Danke, Jim!
Ich sehe keinen Grund, warum diese Lösung nicht funktionieren würde ... aber es scheint nicht mit meinem Tisch zu funktionieren ...
Ich füge es bei, falls jemand herausfinden kann, warum ...
Die anderen beiden kleinen Probleme, die ich habe, sind, dass ich die Zeichenfolge konstant haben muss und daher die Tages- und Monatszahlen benötigen, um die "0" vor der Zahl zu haben. Auch für die laufende Nummer. "0001" Gibt es eine nette Möglichkeit, dies zu korrigieren?
Danke noch einmal!
Re: Wie erstelle ich eine Gegenspalte "innerhalb des Tages"?Hier ist eine Möglichkeit, dies zu tun:
ob ( Reihe () == 1 . Countval = 1 ) ;
ob ( : Datum == Verzögerung ( : Datum) . Countval = Summe (countval . 1 ) . Countval = 1 ) ;
"M" || Recht ( Verkohlen ( Jahr ( : Datum ) ) . 2 ) ||
Verkohlen ( Monat ( : Datum ) ) || Verkohlen ( Tag ( : Datum ) )
|| "-" || verkohlen (countval)