データテーブルのフィルタリングで別列の値との照合はできるか?

こんにちは。いつも勉強させていただいております。

今回質問・・というか確認させて頂きたい事は表題のとおりなのですが、
無題
↑こんな感じで先頭行をヘッダにしてExcelから読み取ったデータテーブルを、
「データテーブルをフィルタリング」アクティビティを使って
「列A = 列B」という条件でフィルタすることはできるものでしょうか?
(この例だと2行目だけを残したい)

Datatable.Selectでやれば済む話だとは思うのですが、
Datatable型で出力できるとその後の処理的に色々楽なので、できるようならフィルタリングで済ませたいなあという欲を出しております。

なんとなくできなさそうではあるのですが、自力で調べた限りでは「できない」とある程度断言できそうな情報が出てこなかったため、
知恵をお借りできればと思います。よろしくお願いいたします。

列Aと列Bの同値性を格納する列を追加し、For Each Rowで、評価したのち、データフィルタをかけてしまうなぁ。私だったら。。。

2 Likes

音速でご回答ありがとうございます。

なるほど、一旦フラグ列を追加する感じですか・・
Datarowをその後操作する手間とどっちが大きいかの勝負になりそうですね。
フィルタ式に直接、同行の他列と比較するような式はやっぱり書けないのでしょうかね?

後々の人もわかりやすいかなって。。。

1 Like

うーむなるほど・・。
確かにここで手間を惜しむと後からの可読性がだだ下がりしそうですね。
フラグ列を追加する方向で進めてみます!ありがとうございました。

もはや .net 開発になってしまいますが、
select結果をDataTableに戻すやりかた↓はお嫌いですか?(苦笑)

あくまでもUiPathシナリオなんだから、
極力アクティビティを並べて解決してね、って話だと思うのですがー。

2 Likes

ありがとうございます。
お恥ずかしながらCopyToDatatableメソッドを知りませんでした・・!
Datatable型にしたいので、式の意味を後世へ伝えるのはアクティビティの注釈に丸投げして
これを使うのもよさそうですね。

1 Like

こういう技もあるんですねぇ。シミジミ。。。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.