全部,
在以下情况下需要一些帮助。
我有一个字符串格式的列名。
我需要使用基于旧列的公式创建一个新列。 我这样做:
oldCol = "OldColumn";
Eval( Eval Expr( dt << New Column( "NewColumn", formula( As Column( Expr( oldCol ) ) ) ) ) );
然后稍后在脚本中我需要重命名旧列。 我这样做:
Column(oldCol) << Set Name("NewOldColumn");现在的问题是,因为我有以下形式的新列公式:
As Column("OldColumn")当 OldColumn 更改名称时,它不会更新。
我想有它的形式
:OldColumn
但我不知道该怎么做。
所以,问题是:我需要如何修改表达式:
Eval( Eval Expr( dt << New Column( "NewColumn", formula( As Column( Expr( oldCol ) ) ) ) ) );
以便它以以下形式生成公式:旧列,而不是形式作为列(“旧列”) ?
这是完整的脚本:
dt = New Table( "TestColumnsReferences",
Add Rows( 3 ),
New Column( "OldColumn", Character, "Nominal", Set Values( {"a", "b", "c"} ) )
);
oldCol = (dt << Get Column Names(string))[1];
//oldCol = "OldColumn";
Eval( Eval Expr( dt << New Column( "NewColumn", formula( As Column( Expr( oldCol ) ) ) ) ) );
Column(oldCol) << Set Name("NewOldColumn");谢谢,M。
我看到了这样做的一种方法(但不是这样做)。
获取列名不是作为字符串,而是作为引用,然后只使用名称 Expr() :
oldCol = (dt << Get Column Names())[1];<BR />Eval( Eval Expr( dt << New Column( "NewColumn", formula( Name Expr( oldCol ) ) ) ) );
但我已经将列的名称作为字符串,并且想坚持使用它。