第 1 列 = 年份(例如 2021 年、2022 年)
第 2 列 = 月份(例如,十月,四月,)
第 4 列 = 天(例如 9、10、11)
(第 1、2、3 列 = 字符串)
我想通过添加计算公式并合并年、月、
我应该怎么办?
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Date",
Format( "m/d/y" ),
formula(
theList = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec"};
Date MDY( Contains( theList, :month ), Num( :day ), :year );
)
);
如果您以交互方式执行此操作,只需转到 Cols 下拉菜单并选择 New Columns
- 将名称更改为日期,或您想要的任何其他名称
- 单击格式的向下箭头,然后选择 Dage=>m/d/y
- 点击确定
- 右键单击新列的标题并选择公式
- 粘贴上面公式的公式
- 点击确定
首先非常感谢您的回答
我正在研究 JMP,同时查看您的许多答案
我认为我在这个问题上解释得不够多,所以我再解释一下
如果您能再次帮助我,我将不胜感激
我想把它做成下面JMP图片第四列的目标形式
如果我使用 concat 函数,我可以制作形状
但问题是它变成了字符类型
我想成为日期/月/日/年形式的日期类型
只有这样我们才能在其他数据表中按日期匹配付款金额

我明白你在问什么。除了一个小问题外,我发布的脚本和说明都可以使用。我假设您的年份列是数字。您已经明确指出 Day 列是字符,而 Month 列必须是字符。但是,您没有指定 Year 列是什么,所以我假设它是数字。下面的代码将重新创建您显示的示例数据表,然后将使用用于目标列的 m/d/y 格式创建新列
Names Default To Here( 1 );
// Recreate the Sample Data Table
New Table( "Sample",
Add Rows( 4 ),
New Column( "Year", Character, "Nominal", Set Values( {"2022", "2022", "2022", "2022"} ) ),
New Column( "Month", Character, "Nominal", Set Values( {"Jan", "Jan", "Jan", "Jan"} ) ),
New Column( "Day", Character, "Nominal", Set Values( {"1", "2", "3", "4"} ) )
);
// Create the Target column
dt = Current Data Table();
dt << New Column( "Target",
Format( "m/d/y" ),
formula(
theList = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec"};
Date MDY( Contains( theList, :month ), Num( :day ), Num( :year ) );
)
);
