Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“.Ich habe eine bereits vorhandene Zeichenspalte „Jahr“, zum Beispiel „K001/2020“, „K002/2020“, „K003/2020“ usw.
Mithilfe eines Skripts kann ich ein neues Zeichen „Mo-Yr“ in der Spalte „01/2020“, „02/2020“, „03/2020“ usw. erstellen. [ Ich habe die Formelteilzeichenfolge („Year“, <) verwendet 4,7>), um dies zu tun. ]
Welches JMP-Skript kann ich verwenden, um die Zeichen „01/2020“, „02/2020“, „03/2020“ usw. in das numerische, ordinale, beste (12) Format („m/y“) umzuwandeln?
Vielen Dank im Voraus für Ihre Hilfe!
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungMassenanpassungBetreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“Danke, Jim – es hat perfekt funktioniert.Betreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“Ich wiederhole meine vorherige Antwort
„..... weil Ihr Spaltenname „:Mon-Yr“ von JMP als Spalte mit dem Namen „Mon“ interpretiert und dann von -Yr subtrahiert wird. "
JMP macht dasselbe mit Ihrer <<-Löschformel.
Ihr Code muss geändert werden von:
:Mon-Yr << delete formula;
Zu:
:Name("Mon-Yr") << delete formula;
Betreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“Das Skript läuft einwandfrei, aber im Protokoll für das von mir geschriebene Skript wird immer wieder eine Fehlermeldung angezeigt (siehe beigefügtes Protokoll).Ich denke, es hängt mit dem Spaltennamen „Mo-Yr“ zusammen.
Vielen Dank für Ihre Hilfe!
MEIN SKRIPT:
CT << New Column("Mon-Yr",
Character,
Nominal,
Formula(Substr(:YEAR, 5, 7))
);
CT << Run formulas;
"Mon-Yr" << delete formula;
IHR SKRIPT:
CT << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
CT << Run formulas;
"Mon-Yr_2" << delete formula;
Betreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“Mein Fehler.Ich habe meinen Code in einer Datentabelle geschrieben und getestet, die einen anderen Namen für die Spalte der Zeicheneingabevariablen hatte, und als ich dann sah, wie Ihr tatsächlicher Name lautete, habe ich ihn einfach ausgeschnitten und in meine Formel eingefügt.Das war ein Fehler, denn Ihr Spaltenname „:Mon-Yr“ wird von JMP als Spalte mit dem Namen „Mon“ interpretiert und dann von -Yr abgezogen.Folgendes muss geändert werden. Ich habe meine letzte Antwort noch einmal geändert, damit zukünftige Leser den richtigen Code erhalten.
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
Betreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“
Jim Nochmals vielen Dank für deine Hilfe dabei.
Unten ist das kombinierte Skript, das ich ausführe. Gemäß Ihrem Code wird eine neue Spalte „Mo-Yr_2“ erstellt, aber die Spalte no data . . . Die Daten fehlen „.“
Ich erhalte auch einige Fehlermeldungen, die ich nicht verstehe.Ich habe ein Beispiel der Startdatentabelle und des Protokolls beigefügt.
MEIN SKRIPT
CT2 << New Column("Mon-Yr",
Charcter,
Nominal,
format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
IHR SKRIPT
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Mon-Yr, "m/y" ) )
);
Betreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“Ausgehend von meinem Beispiel, mit geringfügigen Änderungen
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);Betreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“Danke für das oben Gesagte; Ich sitze jetzt an meinem Computer und kann besser erklären, was ich zu tun versuche.
Ich habe bereits eine „YEAR“-Spalte [Character, Nominal], Beispiel für die „YEAR“-Daten:
K9/001/2019
K9/001/2020
K9/002/2019
K9/002/2020
K9/003/2019
Ich habe eine neue Kolumne „Mo-Yr“ erstellt.
CT2 << New Column("Mon-Yr", Charcter, Nominal, format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
Das führt zu einer neuen Spalte, „Mo-Yr“, [Character, Nominal].Beispiel für „Mon-Jahr“-Daten:
01/2019
01/2020
02/2019
02/2020
03/2019
Daher möchte ich an dieser Stelle eine neue Spalte „Mo-Yr_2“ [Numerisch, Nominal, Format („m/y“) erstellen.Können Sie mir helfen, mir zu zeigen, wie ich das skripte?
Danke!
Betreff: Erstellen Sie eine numerische, ordinale, beste (12), format = ("m\y" ) „Mon-Yr“-Spalte aus einer bereits vorhandenen Zeichenspalte mit „Mo-Yr“ = „01/2020“Hier ist ein kleines Skript, das 3 Spalten erstellt.Spalte 1 ist das Char-Datum, unter Verwendung Ihres Formulars „02/2020“.Die zweite Spalte ist eine Formelspalte, die die erste Spalte in einen JMP-Datumswert mit einem „m/y“-Format zur Anzeige umwandelt, indem die Zeichenspalte auseinandergerissen und neu erstellt wird.Der dritte verwendet die Funktion Informat(), um die Spalte zu konvertieren
New Table( "example",
Add Rows( 1 ),
New Column( "Char Date", Character, "Nominal", Set Values( {"02/2020"} ) ),
New Column( "JMP Date",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula(
Date MDY(
Num( Word( 1, :Char Date, "/" ) ),
1,
Num( Word( 2, :Char Date, "/" ) )
)
)
),
New Column( "JMP Date Using Informat",
Numeric,
"Continuous",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Char Date, "m/y" ) ),
Set Selected
)
)