contains 関数を使用して列名を選択しますやあ、
名前に文字列が含まれる複数の列を選択するのが好きです。 以下のスクリプトを試しましたが、エラーはありませんでしたが、列が選択されません。
col_list = dt3 << get column names(string);
for( i = 1, i <= N Items( col_list ), i++,
If(Contains( col_list[i], "A_B_C" ),
Column(col_list[i] ) << Set Selected (1)
)
);
Col_list を確認すると、データテーブル全体のすべての列が含まれています。 私はあなたの助けに感謝します。 ありがとう
Re: contains 関数を使用して列名を選択するジムさん、ご協力ありがとうございます。 現在はうまく機能しています。
Re: contains 関数を使用して列名を選択するContains() 関数は 2 番目の引数を受け取り、1 番目の引数を調べて、2 番目の引数の値が最初の引数で見つかるかどうかを確認します。したがって、Contains() 関数が
含む("A_B_C", Col_List[i])
Col_List[i] = "A_B_C" の値の場合、値 "A_B_C" を取得し、最初の引数を調べて、それが見つかるかどうかを確認します。最初の引数に「A_B_C」が含まれているため、それは可能です。ここで、列名が「A」で同じ比較を行うと、Contains() 関数は 2 番目の引数「A」を受け取り、1 番目の引数「A_B_C」を調べると、「A」が検出されます。は最初の引数にあるため、真の比較になります。
したがって、Contains() 関数の元の形式が必要なものです。
Names Default To Here( 1 );
dt = Current Data Table();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains(Col_List[i], "A_B_C"),
Column(Col_List[i]) << Set Selected(1);
);
);Re: contains 関数を使用して列名を選択するいくつかのことが起こっているかもしれません。
可能性の 1 つは、スクリプトの実行前に列が選択されていることです。
これをスクリプトの先頭、dt が定義された直後に追加してみてください。
dt << Clear Selection;
Re: contains 関数を使用して列名を選択するありがとう。 あなたのスクリプトを試しましたが、別の例でしたが、まだ問題があります。
名前のデフォルトは Here( 1 );
dt = 現在のデータ テーブル();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains("A_B_C",Col_List[i]),
Column(Col_List[i]) << Set Selected(1);
);
);
列 A_B_C と A が選択されています。 理由がわかりません。 私はあなたの助けに感謝します。 画像結果を添付しました。
Re: contains 関数を使用して列名を選択する@で、
Contains() の引数が逆になっていると思います。
dt = Current Data Table();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains("A_B_C",Col_List[i]),
Column(Col_List[i]) << Set Selected(1);
);
);