UiPath初心者です。
以下の表で、列「ごはん」に重複データがある場合、1行を残して残りを削除したいです。
残す行の選び方は、列「仕入先」の2文字目の数字が一番小さいものを残したいです。
資料の場合、カレーが3行重複していますが、仕入先の列において、1行目のA123が2文字目=1の為、3つの中で一番小さいのでこちらを残し、残り2行を削除したいです。
このような場合、どのように作れば良いのか分かりません。
教えて頂きたくよろしくお願いいたします。
UiPath初心者です。
以下の表で、列「ごはん」に重複データがある場合、1行を残して残りを削除したいです。
残す行の選び方は、列「仕入先」の2文字目の数字が一番小さいものを残したいです。
資料の場合、カレーが3行重複していますが、仕入先の列において、1行目のA123が2文字目=1の為、3つの中で一番小さいのでこちらを残し、残り2行を削除したいです。
このような場合、どのように作れば良いのか分かりません。
教えて頂きたくよろしくお願いいたします。
こんなカスタムアクティビティの中に、「重複行削除_先頭行出力」ってアクティビティがあります。
2文字目の大小での並び変えは必要ですが。。。
こんにちは
以下お試しください。
dt = dt.AsEnumerable.GroupBy(Function(r) r("ごはん").ToString).Select(Function(g) dt.Clone.LoadDataRow({g.Key,g.OrderBy(Function(r) r("仕入先").ToString.Substring(1,1)).First().Item("仕入先").ToString},False)).CopyToDataTable
Main.xaml (8.5 KB)
はなっち!様
Yoichi様
いつも本当にありがとうございます。
Yoichi様のサンプルがそのまま使えそうだったので、今回はこちらでいかせて頂こうと思います。
はなっち!様が教えて下さったアクティビティ、勉強します!!
Yoichi様
作成致しました。
無事に削除出来ました。
ありがとうございます!!
実は元データの列は、2列ではなく、7列でした。
こちらを使わせて頂き、書き込みをすると、最初の2列は間違いなく出てきたのですが、
残り5列がタイトル行のみになっておりました。
どの部分に、残りの列を指定すれば良いのか教えて頂きたくよろしくお願いいたします。
こんにちは
列数が多いなら、以下お試しください。
dt = dt.AsEnumerable.GroupBy(Function(r) r("ごはん").ToString).Select(Function(g) dt.Clone.LoadDataRow(g.OrderBy(Function(r) r("仕入先").ToString.Substring(1,1)).First().ItemArray,False)).CopyToDataTable
ありがとうございます。
無事に完成しました。
いつも本当にありがとうございます。
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.