2つのDataTableの重複していない行をDataTableとして取得したい

いつもお世話になっております。
2つのDataTableの重複していない行をDataTableとして取得したいです。
2つのDataTableは列は4つで同じ列名です。

・DataTable型の変数DT1、DT2ある。
・DT1がシステムログを蓄積しているDataTable
・DT2は、直近1週間のログのDataTable.
DT1とDT2には重複が発生するので、重複のない行(新規行)を取得し、DT1に追加したい。

こんにちは

途中、重複していない行を抽出する必要が無ければ、最初にマージしてから重複行を削除しても良いかと思います。(順序性が必要ならソートが必要かもしれませんが)

dt1 = dt1.AsEnumerable.Distinct(DataRowComparer.Default).CopyToDataTable

ありがとうございます。
申し訳ございません
説明が足りなかったのですが、DT1のデータに対して、DT2のデータ内の重複のない行を取得したいです。
・ログ蓄積データDT1が10000行あるとしたら、DT2は日々のログなので、100行程度です。
マージした場合、DT2のログに含まれない以前のデータは重複しないことになるので、余分なデータまで取得してしまうことになると思います。

Hie @FSP i"m attaching a sample process zip file to compare data from both excel data…
cheers Happy Automation…
Excel.zip (47.7 KB)
this Excel is a zip file of process xaml file not the excel file …also the screenshot…

1 Like

こんにちは

最終的にdt1に加えるならマージして重複を削除しても同じかと思いますが....

dt2の中でdt1にない行を抽出するには以下で可能です。

arrDr = dt2.AsEnumerable.Except(dt1.AsEnumerable,DataRowComparer.Default).ToArray()

Sample
Sample20240819-2.zip (3.4 KB)

1 Like

無事、新規行を取得することができました!
ありがとうございます!!
感謝!

1 Like

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