元のテーブルに存在する各列に新しい列を作成するスクリプトを作成したいと考えています。新しい列の値は、元の列の値から定数値を引いたものと等しくなります。 列の値にアクセスするにはどうすればよいですか?「cnme」は列参照を正確に読み取りますが、Column(cnme) は列内の値を読み取りません。
コード:
a = N Col( データ テーブル( "vert" ) );
For( i = 2, i <= a, i++,
cnme = Column( i ) << 名前を取得;
New Column( "col", Formula(Subtract(Column(cnme), 6.5) ) ) );
列の式は、完全な JSL ステートメントに完全に展開する必要があります。そうしないと、式で参照される変数が追加の列の指定に応じて変更されるため、値が変更されます。あなたの場合、変数 cnme は複数回変更されます。これを豊富に行う方法のいくつかの例については、以下を参照してください。
Names Default To Here( 1 );
a = N Col( Data Table( "vert" ) );
For( i = 2, i <= a, i++,
cnme = Column( i ) << get name;
Eval(
Substitute(
Expr(
New Column( "Adjusted " || cnme, Formula( Subtract( As Column( _cnme_ ), 6.5 ) ) )
),
Expr( _cnme_ ), cnme
)
);
);
Names Default To Here( 1 );
a = N Col( Data Table( "vert" ) );
For( i = 2, i <= a, i++,
cnme = Column( i ) << get name;
Eval( Eval Expr( New Column( "Adjusted " || cnme, Formula( Subtract( As Column( Expr( cnme ) ), 6.5 ) ) ) ) );
);