我想要重新编码的表格中的原始值始终是 01/01/1900。我想将其重新编码为今天的日期。这只会返回空白,而不是今天的日期。知道我需要更改什么吗?
谢谢!
Transfers << Begin Data Update;
Transfers << Recode Column(
Transfers:OrderDate,
{Map Value( _rcOrig, {-126144000, short date(today())}, Unmatched( _rcNow ) )},
Update Properties( 1 ),
Target Column( :OrderDate )
);
Transfers << End Data Update;
要对列中的条目重新编码并将结果保存到同一列,可以从下拉菜单中选择“就地” :

在 JSL 代码中,目标列将与输入列匹配。
嗯,为什么代码不起作用?
a) 短日期()将日期转换为字符串 - 但列是数字。
b) 即使删除了短日期()也不起作用。是因为映射值()不允许使用表达式吗?也许:

那么让我们尝试一下:
Transfers = New Table( "transfers",
Add Rows( 1 ),
Compress File When Saved( 1 ),
New Column( "OrderDate",
Format( "y/m/d"),
Set Values( [-126144000] )
)
);
Transfers << Begin Data Update;
Eval (Eval Expr(Transfers << Recode Column(
Transfers:OrderDate,
{Map Value( _rcOrig, {-126144000, Expr(today())}, Unmatched( _rcNow ) )},
Update Properties( 1 ),
Target Column( :OrderDate )
)));
Transfers << End Data Update;