全部,
在以下情況下需要一些幫助。
我有一個字符串格式的列名。
我需要使用基於舊列的公式創建一個新列。 我這樣做:
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 ) ) ) ) );
但我已經將列的名稱作為字符串,並且想堅持使用它。