列名に文字列を含むすべての列を合計します<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />データテーブルを取得し、列名に "ToAdd"という文字列を含むすべての列を合計する式を含む列を追加しようとしています。名前のどこかに "ToAdd"が表示される列が変わるため、これをスクリプト化しようとしています。
これまでのところ、すべての列名をリストにまとめることができるスクリプトがありますが、そのリストを使用して、それらすべての列を合計する式で新しい列を生成する方法はわかりません。これは開始するための最良の方法のように思えました、しかしここからどこへ行くべきかわからない(またはそれが本当に開始するための良い方法であるかどうか)
dt =現在のデータテーブル()。
N = N Col(dt);
AddColumns = {};
(i = 1、i <= N、i ++、
colname = Column(i)<< getname();
((colname、"ToAdd")> 1を含む場合、
に挿入(AddColumns、colname)
;
)
;
事前に助けてくれてありがとう!
列名に文字列を含むすべての列を合計します。魅力のように動作します!
ありがとう、
ダニエル
列名に文字列を含むすべての列を合計します。それは良いスタートです。ただし、スクリプトで列式を設定することは、引数が文字通りに解釈されるため、少し注意が必要です。式を動的に構築することは通常、最終的に解析/評価される文字列または式を構築することを含みます。それ以外の場合は、ローカル変数またはセッション固有の変数が式に含まれ、期待どおりに機能しません。少なくともそれが私の経験です。
これが文字列アプローチを使った例です。
dt = 現在のデータ表 () ;
N = Nコル ( dt ) ;
の = 「」 ;
にとって ( 私 = 1 、私 <= N 、私 ++、
列名 = カラム ( 私 ) << getname () ;
もし ( 含む ( 列名 、 "たす" ) > 0 、
の = の || もし ( 長さ ( の ) > 0 、 「」 、 「」 ) || 列名
) ;
) ;
見せる ( の ) ;
コル = dt << 新しいコラム ( 「合計(列の追加)」 、数値 ) ;
評価 ( 解析する ( 評価挿入 ( "col <<集合式(sum(^ s ^))" ) ) ) ;