ray88’s diary

お仕事で困ったとき用の自分用の覚書

Uipath データテーブルを列名マスタで指定した列でフィルタする

UiPath 目次 - ray88’s diary

■あらかじめ固定された列名ではなく、マスタで指定した列名でフィルタする
 ①一旦マスタの列名をテーブルに格納する
 ②データテーブルの列名を配列に格納する
  配列格納用変数 = テーブル格納変数.AsEnumerable().Select(Function(row) row(0).ToString).ToArray()
 ②データテーブルを配列の列名でフィルタする
   データテーブル格納用変数 = データテーブル格納変数.DefaultView.ToTable(False,列名格納配列変数)

【サンプルフロー】
以下のようにマスタファイルの列名で元ファイルをフィルタする

①列名マスタファイルパス、元ファイルパス、編集後ファイルパスを設定する

②列名マスタファイルを読み込み、データテーブルに格納

③データテーブルの列名を配列に格納
 ※以下はAssignアクティビティの右辺
 dt_Master.AsEnumerable().Select(Function(row) row(0).ToString).ToArray()
④フィルタ対象のファイルを読み込み、テーブルに格納
⑤列名マスタで指定した列でデータテーブルをフィルタ
 ※以下はAssignアクティビティの右辺
 dt_csv.DefaultView.ToTable(False,arr_ColumnNames)
⑥フィルタ後のテーブルを対象ファイルに貼り付け