從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = ("m\y" ) "Mon-Yr" 列我有一個預先存在的字符“年份”列,例如“K001/2020”、“K002/2020”、“K003/2020”等。
使用腳本,我可以創建一個新字符“Mon-Yr”列=“01/2020”,“02/2020”,“03/2020”等。[我使用了公式子字符串(“Year”,< 4,7>) 來執行此操作。 ]
我可以使用什麼 JMP 腳本將字符“01/2020”、“02/2020”、“03/2020”等轉換為數字、序數、最佳 (12)、格式 (“m/y”)?
在此先感謝您的幫助!
高級統計建模自動化和腳本編寫大規模定制回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“m\y”)“Mon-Yr”列謝謝吉姆 - 它工作得很好。回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“m\y”)“Mon-Yr”列我重複一下我之前的回复
“......因為您的列名稱“:Mon-Yr”將被 JMP 解釋為名為 Mon 的列,然後減去 -Yr。 ”
JMP 將對您的 << 刪除公式執行相同的操作;
您的代碼需要更改為:
:Mon-Yr << delete formula;
到:
:Name("Mon-Yr") << delete formula;
回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“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;
回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“m\y”)“Mon-Yr”列我的錯誤。我在數據表上編寫並測試了我的代碼,該數據表的字符輸入變量列具有不同的名稱,然後當我看到您的實際名稱是什麼時,我只是將其剪切粘貼到我的公式中。這是一個錯誤,因為 JMP 將您的列名“:Mon-Yr”解釋為名為 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" ) )
);
回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“m\y”)“Mon-Yr”列
吉姆再次感謝您對此的幫助。
下面是我正在運行的組合腳本;根據您的代碼,它會創建一個新列“Mon-Yr_2”,但該列沒有 data 。 。 。數據缺少“.”
我還收到一些我不明白的錯誤消息。我附上了起始數據表和日誌的示例。
我的劇本
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" ) )
);
回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“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" ) )
);回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“m\y”)“Mon-Yr”列感謝以上內容;我現在在我的電腦前,可以更好地解釋我想要做什麼。
我有一個預先存在的“YEAR”列[字符,名義],“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”,[字符,名義]。“週一至年度”數據示例:
01/2019
01/2020
02/2019
02/2020
03/2019
因此,此時我想創建一個新列“Mon-Yr_2”[數字、名義、格式(“m/y”)。你能幫我看看如何編寫這個腳本嗎?
謝謝!
回复:從預先存在的字符列(其中“Mon-Yr”=“01/2020”)創建數字、序數、最佳 (12)、格式 = (“m\y”)“Mon-Yr”列這是一個創建 3 列的小腳本。第 1 列是字符日期,使用您的“02/2020”表格。第二列是一個公式列,它將第一列轉換為 JMP 日期值,通過拆分字符列並重建它,以“m/y”格式進行顯示。第三個使用 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
)
)