Col Formula Month()Ich habe eine Datentabelle, in der ich mehrere Datumsangaben mit Uhrzeiten habe. Ich versuche, alle Daten nur in das Monats- und vielleicht sogar in ein Monat-Jahr-Format umzuwandeln.
Ich weiß, dass ich das schon einmal gemacht habe, indem ich die Spalte ausgewählt habe, die zur Formel führt, und Monat (Datum und Uhrzeit) zusammengestellt habe, als ich die Neucodierung verwenden würde, um Zahlen in Jan. - Dez. umzuwandeln.
Wenn ich es heute versuche, ändert die Month()-Formel mein Datum in nur Punkte. Ich habe mir andere Beiträge angesehen und die Formel ist genau das, was ich verwenden soll. Ich bin mir nicht sicher, warum ich nicht das erwartete Ergebnis erhalte?
Betreff: Col Formula Month()Tausend Dank 
Betreff: Col Formula Month()Hier ist eine Formel, die funktionieren wird
Substr( Format( :Date, "Monddyyyy" ), 1, 3 ) || " " || Char( Year( :Date ) )
Betreff: Col Formula Month()Hallo alle,
Ich kann in diesem Forum viel Hilfe gebrauchen. Ich suche Hilfe bei der beigefügten Tabelle. Spalte 2 enthält Monate aus den Jahren 2019 und 2020. Ich muss neben dem Monat auch das Jahr hinzufügen.
Betreff: Col Formula Month()If(:month <= 2 | :month >=12,
season="Winter",
:month <=5, season="Spring",
:month <=8, season="Summer",
season="Fall"
); Betreff: Col Formula Month()Was kann ich tun, wenn ich eine Saisonspalte aus einem Monat erstellen möchte?
@julianisch schrieb:
Hallo @Herrera5238 ,
Substr() ist eine wirklich nützliche Zeichenfunktion, die einen Teil einer Zeichenfolge heraussuchen kann. Die Argumente von Substr() werden in Hilfe > Skriptindex angezeigt:
Substr(string, start, length)
Die 1 und 3 im Beispiel weisen Substr() also an, die Zeichenfolge zu übernehmen und 3 Zeichen zurückzugeben, beginnend an der 1. Ordnungsposition der Zeichenfolge. Der Grund dafür, dass dies funktioniert, ist, dass der Rest der Formel, die ich geschrieben habe
Format( :Date Time, "Monddyyyy" )
gibt eine formatierte Version des Datums basierend auf dem angegebenen Format („Monddyyyy“) zurück. Wenn Sie nur diese Funktion ohne Substr() verwenden würden, würden Sie Zeilen mit Werten wie „Jan012018“ erhalten.
Wenn Sie einen nicht verkürzten Monat wünschen, müssen Sie etwas anderes tun. Wir könnten beginnen mit:
Format( :Date Time, "Date Long" )
was etwa Folgendes zurückgeben würde: Montag, 1. Januar 2018. Da Substr() erfordert, dass wir eine bestimmte Startposition und Anzahl von Zeichen angeben, ist es nicht sehr sinnvoll, diese Zeichenfolge auseinanderzunehmen, da die Wochentage unterschiedlich sind Anzahl der Zeichen. Aber es stehen uns noch viele andere Charakterfunktionen zur Verfügung! Word() ist großartig – dies gibt ein bestimmtes Wort in einer Zeichenfolge basierend auf einem Trennzeichen zurück (Standard ist ein Leerzeichen, könnte aber auch ein Komma oder sowohl ein Komma als auch ein Leerzeichen sein, was wir brauchen). Mit diesem Wissen könnten wir die folgende Formel verwenden:
Word( 2, Format( :Date Time, "Date Long" ), ", " )
Die Art und Weise, dies zu lesen, ist: Nehmen Sie das zweite Wort (das ist die 2) aus der formatierten Datums-/Uhrzeitspalte (unter Verwendung von Date Long) und verwenden Sie als Trennzeichen der Wörter SOWOHL ein Komma als auch ein Leerzeichen (beachten Sie, dass ich in Anführungszeichen ein habe). Komma und dann ein Leerzeichen – so sage ich JMP, dass es beides verwenden soll). Dadurch wird „Januar“ für die erste Zeile in Ihrem Datensatz zurückgegeben.
Aber vielleicht möchten Sie auch das Jahr am Ende oder am Anfang oder einige dazwischen liegende Zeichen. All das können wir mit dem Verkettungsoperator || oder der Funktion Concat() erledigen. Angenommen, wir möchten für jede Zeile am Ende der Zeichenfolge das Jahr angeben. Wir müssen das Jahr irgendwie ermitteln (könnte die Year()-Funktion sein, die auf :Date Time zeigt, oder wir könnten Words() erneut verwenden, beides würde funktionieren). Hier ist eine Möglichkeit, dies zu tun:
Word( 2, Format( :Date Time, "Date Long" ), ", " ) || "-" ||
Char( Year( :Date Time ) )
die „Januar-2018“ zurückgeben wird. Es gibt eine Sache, die ich hier getan habe, die Sie vielleicht nicht erwarten würden. Ich habe eingepackt Jahr ( :Date Time ) in der Char()-Funktion. Das ist wichtig, weil Jahr ( :Date Time ) gibt einen NUMERISCHEN Wert des Jahres zurück und die Funktion Concat() (oder ihre Inline-Operatorversion ||) erfordert Zeichenargumente. Durch das Hinzufügen eines einfachen Char() um Year() wird also sichergestellt, dass Concat() eine Zeichendarstellung des Jahres erhält, mit der gearbeitet werden kann.
Es gibt so viel, was Sie mit Zeichenfunktionen tun können, und ich empfehle Ihnen, einen Blick auf den Abschnitt „Zeichen“ der Formelreferenz unter „Hilfe“ > „Skriptindex“ zu werfen.
Ich hoffe das hilft!
@julianisch
Betreff: Col Formula Month()@Herrera5238
ICH stark Wir empfehlen Ihnen, sich mit dem Scripting Index vertraut zu machen.
Hilfe==>Skriptindex
Alle Funktionen, die Julian und/oder ich in dieser Diskussion gezeigt haben, sind im Index aufgeführt, im Index definiert und Beispiele werden im Index angezeigt.
Betreff: Col Formula Month()Hallo @Herrera5238 ,
Substr() ist eine wirklich nützliche Zeichenfunktion, die einen Teil einer Zeichenfolge heraussuchen kann. Die Argumente von Substr() werden in Hilfe > Skriptindex angezeigt:
Substr(string, start, length)
Die 1 und 3 im Beispiel weisen Substr() also an, die Zeichenfolge zu übernehmen und 3 Zeichen zurückzugeben, beginnend an der 1. Ordnungsposition der Zeichenfolge. Der Grund dafür, dass dies funktioniert, ist, dass der Rest der Formel, die ich geschrieben habe
Format( :Date Time, "Monddyyyy" )
gibt eine formatierte Version des Datums basierend auf dem angegebenen Format („Monddyyyy“) zurück. Wenn Sie nur diese Funktion ohne Substr() verwenden würden, würden Sie Zeilen mit Werten wie „Jan012018“ erhalten.
Wenn Sie einen nicht verkürzten Monat wünschen, müssen Sie etwas anderes tun. Wir könnten beginnen mit:
Format( :Date Time, "Date Long" )
was etwa Folgendes zurückgeben würde: Montag, 1. Januar 2018. Da Substr() erfordert, dass wir eine bestimmte Startposition und Anzahl von Zeichen angeben, ist es nicht sehr sinnvoll, diese Zeichenfolge auseinanderzunehmen, da die Wochentage unterschiedlich sind Anzahl der Zeichen. Aber es stehen uns noch viele andere Charakterfunktionen zur Verfügung! Word() ist großartig – dies gibt ein bestimmtes Wort in einer Zeichenfolge basierend auf einem Trennzeichen zurück (Standard ist ein Leerzeichen, könnte aber auch ein Komma oder sowohl ein Komma als auch ein Leerzeichen sein, was wir brauchen). Mit diesem Wissen könnten wir die folgende Formel verwenden:
Word( 2, Format( :Date Time, "Date Long" ), ", " )
Die Art und Weise, dies zu lesen, ist: Nehmen Sie das zweite Wort (das ist die 2) aus der formatierten Datums-/Uhrzeitspalte (unter Verwendung von Date Long) und verwenden Sie als Trennzeichen der Wörter SOWOHL ein Komma als auch ein Leerzeichen (beachten Sie, dass ich in Anführungszeichen ein habe). Komma und dann ein Leerzeichen – so sage ich JMP, dass es beides verwenden soll). Dadurch wird „Januar“ für die erste Zeile in Ihrem Datensatz zurückgegeben.
Aber vielleicht möchten Sie auch das Jahr am Ende oder am Anfang oder einige dazwischen liegende Zeichen. All das können wir mit dem Verkettungsoperator || oder der Funktion Concat() erledigen. Angenommen, wir möchten für jede Zeile am Ende der Zeichenfolge das Jahr angeben. Wir müssen das Jahr irgendwie ermitteln (könnte die Year()-Funktion sein, die auf :Date Time zeigt, oder wir könnten Words() erneut verwenden, beides würde funktionieren). Hier ist eine Möglichkeit, dies zu tun:
Word( 2, Format( :Date Time, "Date Long" ), ", " ) || "-" ||
Char( Year( :Date Time ) )
die „Januar-2018“ zurückgeben wird. Es gibt eine Sache, die ich hier getan habe, die Sie vielleicht nicht erwarten würden. Ich habe eingepackt Jahr ( :Date Time ) in der Char()-Funktion. Das ist wichtig, weil Jahr ( :Date Time ) gibt einen NUMERISCHEN Wert des Jahres zurück und die Funktion Concat() (oder ihre Inline-Operatorversion ||) erfordert Zeichenargumente. Durch das Hinzufügen eines einfachen Char() um Year() wird also sichergestellt, dass Concat() eine Zeichendarstellung des Jahres erhält, mit der gearbeitet werden kann.
Es gibt so viel, was Sie mit Zeichenfunktionen tun können, und ich empfehle Ihnen, einen Blick auf den Abschnitt „Zeichen“ der Formelreferenz unter „Hilfe“ > „Skriptindex“ zu werfen.
Ich hoffe das hilft!
@julianisch
Betreff: Col Formula Month()Julianisch,
Was bewirken die 1 und 3 in dieser Formel für uns?
Was wäre, wenn ich es nicht abgekürzt oder mit der Jahreszahl abgekürzt haben möchte? dh 18. Januar oder 2018. Januar.
Gibt es einen Ort, an dem ich auf die verfügbaren Formatierungsoptionen verweisen kann?
Durch das Schreiben der Formel einschließlich des Formats erspare ich mir diesen zusätzlichen Umkodierungsschritt.
Danke für den Tipp!!
Betreff: Col Formula Month()Jim,
Ich wollte gerade sagen, dass es immer noch nicht funktionierte, und machte meinen Screenshot fertig.

Mir wurde klar, wo das Problem liegt. Ich habe versucht, die Formel für dieselbe Spalte zu verwenden, auf die ich verwiesen habe.
Ich hätte eine neue Spalte erstellen und die Formel hier hinzufügen sollen.
Nachdem ich das getan hatte, hatte ich kein Problem mehr.
Ich schätze die Hilfe, ich fühle mich schrecklich, weil es etwas so Einfaches war, das ich verpasst habe.
Betreff: Col Formula Month()Vielen Dank für das Anhängen einer Datei.
Ich hatte kein Problem damit, eine Formel auf die von Ihnen angehängte Datentabelle anzuwenden.
Die Formel, die ich verwendet habe, lautet
Month( :Date Time )
Da es sich bei der Spalte „Datum/Uhrzeit“ um eine richtige JMP-Datum/Uhrzeit-Spalte handelt, vermute ich, dass Sie möglicherweise ein Bereichsproblem haben, wenn Sie „Datum/Uhrzeit“ und nicht „:Datum/Uhrzeit“ angeben.Durch Platzieren eines Doppelpunkts vor dem Spaltennamen wird JMP angewiesen, eine Spalte mit dem Namen „Datum/Uhrzeit“ und keine Speichervariable mit dem Namen „Datum/Uhrzeit“ zu verwenden

Betreff: Col Formula Month()Hallo @Herrera5238 ,
In Ihrem Datensatz schien dies für mich mit der folgenden Formel gut zu funktionieren:
Month( :Date Time )
Wenn Sie die Monatszahlen in Monatsabkürzungen umwandeln möchten, können Sie außerdem direkt die folgende Formel verwenden:
Substr( Format( :Date Time, "Monddyyyy" ), 1, 3 )
Ich habe hier Ihre Beispieldatentabelle mit diesen Spaltenformeln angehängt.
@julianisch
Betreff: Col Formula Month()Hallo Jim,
Ich habe eine Datentabelle angehängt. Das ist ein weiterer Artikel, den ich in einem anderen Beitrag gefunden habe. Also habe ich die Spalteninformationen überprüft. und es heißt, der Datentyp sei numerisch. Ich importiere diese Daten aus Excel, aber das sollte kein Problem sein, oder? Ich kann mich nicht erinnern, dieses Problem das letzte Mal gehabt zu haben, obwohl ich sagen würde, dass ich das letzte Mal mit JMP12 und nicht mit 13 gearbeitet habe.
Betreff: Col Formula Month()Ich gehe davon aus, dass das Problem darin besteht, dass die Spalte, auf die Sie in der Funktion „Month()“ verweisen, kein JMP-Datum oder Datum/Uhrzeit-Wert ist.Könnte es sein, dass es sich bei der Spalte, auf die verwiesen wird, um eine Zeichenfolgenspalte und nicht um eine numerische Spalte handelt?
Es wäre hilfreich, wenn Sie ein Beispiel der Datentabelle anhängen könnten, an der Sie arbeiten.