列名を変数として使用する方法。<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />列からいくつかの行を選択したい (現在のデータ テーブルに「RESOLUTION」という名前の列があります)
この 2 行は機能します。
======================================
dt = 現在のデータ テーブル();
dt<<場所を選択(解像度 > 0.);
======================================
「RESOLUTION」を別の変数として定義すると、機能しません。
============================================
dt = 現在のデータ テーブル();
colA="解像度";
dt< 0.);
============================================
これはどの行も選択しません。
どうすればこれを行うことができるか教えていただけますか?
ありがとう。
Re: 列名を変数として使用する方法。Column() と組み合わせると、AsColumn() が高速になる可能性があります。
Re: データ テーブルをループするか、Recode を使用するか、Get Rows Where を使用してデータ テーブルの値を変更する必要がありますか
Re: 列名を変数として使用する方法。As Column() を使用する際に注意すべきことの 1 つは、大きなデータ テーブルに対して eval( parse(..)) 構文を使用するよりもはるかに遅いように見えることです。
私の場合、390k 行と 17 列のデータ テーブルがありました。
Eval ( Parse ( .... )) を使用すると、探していた行を選択するのに 67 ミリ秒かかりましたが、As Column() 構文を使用すると 3,600 ミリ秒かかりました。 ( HPTime() を使用して測定する )
したがって、As Column() 構文はコード内ではるかに読みやすくなっていますが、速度が重要な場合、最適なオプションではない可能性があります。
Re: 列名を変数として使用する方法。または、AsColumn 関数を使用します。
colA="解像度";
dt< 0.)
Re: 列名を変数として使用する方法。できます!!
どうもありがとう!
Re: 列名を変数として使用する方法。qt、
これでうまくいきます。
dt =現在のデータ テーブル() ;
コーラ= "解像度" ;
col_expr = "dt << Select Where(:name(\!"" ||コーラ|| "\!") > 0.)" ;
評価(解析する( col_expr ))) ;
基本的に、動的コードを作成してから実行します。