从预先存在的字符列(其中“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
)
)