"Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。「K001/2020」、「K002/2020」、「K003/2020」などの既存の文字「年」列があります。
スクリプトを使用すると、新しい文字「Mon-Yr」列 = 「01/2020」、「02/2020」、「03/2020」などを作成できます。[ 式の部分文字列 (「年」、< を使用しました) 4,7>) これを行うには。 】
「01/2020」、「02/2020」、「03/2020」などの文字を数値、序数、最良 (12)、形式 (「m/y」) に変換するには、どの JMP スクリプトを使用できますか?
よろしくお願いいたします。
高度な統計モデリング自動化とスクリプト作成マスカスタマイゼーションRe: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。ジムに感謝します。完璧に機能しました。Re: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。前回の回答から繰り返しますが、
「……」これは、列名「:Mon-Yr」が JMP によって Mon という名前の列として解釈され、-Yr が減算されるためです。 」
JMP は、<< 削除式に対しても同じことを行います。
コードを次のように変更する必要があります。
:Mon-Yr << delete formula;
に:
:Name("Mon-Yr") << delete formula;
Re: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。スクリプトは正常に実行されますが、作成したスクリプトのログに「エラー」メッセージが表示され続けます (添付のログを参照)。これは「Mon-Yr」列名に関係していると思います。
ご協力いただきありがとうございます!
私のスクリプト:
CT << New Column("Mon-Yr",
Character,
Nominal,
Formula(Substr(:YEAR, 5, 7))
);
CT << Run formulas;
"Mon-Yr" << delete formula;
あなたのスクリプト:
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;
Re: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。私の間違いです。文字入力変数列の名前が異なるデータ テーブルでコードを作成してテストしました。その後、実際の名前を確認して、それを切り取って数式に貼り付けました。これは間違いでした。列名「:Mon-Yr」は、JMP によって Mon という名前の列として解釈され、-Yr が減算されます。変更する必要があるのは次のとおりです。将来の読者が正しいコードを取得できるように、戻って最後の応答を変更しました。
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
Re: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。
ジム 今回のご協力に改めて感謝いたします。
以下は、私が実行している結合スクリプトです。コードごとに、新しい列「Mon-Yr_2」が作成されますが、その列にはデータがありません。 。 。データに「。」がありません。
理解できないエラー メッセージも表示されます。起動データテーブルとログのサンプルを添付しました。
私の脚本
CT2 << New Column("Mon-Yr",
Charcter,
Nominal,
format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
あなたのスクリプト
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Mon-Yr, "m/y" ) )
);
Re: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。私の例を少し変更して抜粋
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);Re: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。上記ありがとうございます。私は今コンピューターの前にいるので、自分がやろうとしていることをよりよく説明できるようになりました。
既存の「YEAR」列 [Character, Nominal] があります。「YEAR」データの例:
K9/001/2019
K9/001/2020
K9/002/2019
K9/002/2020
K9/003/2019
新しいコラム「Mon-Yr」の脚本を書きました
CT2 << New Column("Mon-Yr", Charcter, Nominal, format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
これにより、新しい列「Mon-Yr」[Character, Nominal]が作成されます。「月-年」データの例:
2019 年 01 月
2020 年 1 月
2019 年 2 月
2020 年 2 月
2019 年 3 月
したがって、この時点で、新しい列「Mon-Yr_2」[数値、公称、形式 ("m/y"]) を作成したいと思います。これをスクリプト化する方法を教えていただけますか?
ありがとう!
Re: "Mon-Yr" = "01/2020" の既存の文字列から数値、序数、最良 (12)、format = ("m\y" ) "Mon-Yr" 列を作成します。これは 3 つの列を作成する小さなスクリプトです。列 1 は、「02/2020」フォームを使用した文字日付です。2 番目の列は、最初の列を JMP 日付値に変換する数式列で、文字列を分割して再構築することで表示用に「m/y」形式を使用します。3 番目は、Informat() 関数を使用して列を変換します。
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
)
)