减去表格列中的日期大家好,
请帮我写一个脚本,在我的表格列中将日期减去 1 天,然后将它们放入一个新列中。 这在 excel 上很容易完成,但我一直很难在 JMP 中尝试这样做。
请注意,在图片中,标题为“TestEndDate”的列 =06/19/2017 ... 我想要标题为“测试开始日期”的列给我日期,例如 06/18/2017...
还知道“TestEndDate”中的日期并不完全相同......
回复:减去表格列中的日期人物栏好抓! (JMP 左对齐字符数据,右对齐数字数据。)
有一些辅助函数可以添加分钟、小时、天、周和年。 inDays(1) 是 60*60*24:
Show(
Format( Today(), "y/m/d" ),
Format( Today() - In Days( 1 ), "y/m/d" ),
Format( Today() - In Weeks( 1 ), "y/m/d" ),
Format( Today() - In Years( 1 ), "y/m/d" )
)
格式(今天(),“y/m/d”)=“2017/08/11”;
Format(Today() - In Days(1), "y/m/d") = "2017/08/10";
Format(Today() - In Weeks(1), "y/m/d") = "2017/08/04";
Format(Today() - In Years(1), "y/m/d") = "2016/08/11";
函数名称指的是参数单位,每个函数返回以秒为单位的 JMP 持续时间。
回复:减去表格列中的日期JMP 日期值以秒为单位,因此要从给定日期减去一天,您需要减去 60*60*24 秒。 以下脚本创建了一个数据表,其中有一列应用了一个公式,该公式从第一个日期列中减去 1 天。
Names Default to Here( 1 );
New Table( "Test",
Add Rows( 10 ),
New Column( "date",
Numeric,
"Continuous",
Format( "m/d/y", 12 ),
Input Format( "mmddyyyy" ),
Set Values(
[3585254400, 3585254400, 3585254400, 3585254400, 3585254400, 3585254400,
3585254400, 3585254400, 3585254400, 3585254400]
)
),
New Column( "test end date",
Numeric,
"Continuous",
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Formula( :date - 60 * 60 * 24 ),
Set Selected
)
)
我还注意到,在您所附的图片中,您的日期值似乎是输入到一个字符列中,而不是作为一个数字列,具有应用的日期格式。 如果您要能够进行减法,则需要将起始日期值作为数字日期值输入。