Datatable から複数の列をキーとして集計する

以下のデータテーブル<1>から、<2>のような形へ集計がしたいです。

以下の形で、Field2列が青森の行は取得できたのですが、
From row In dtbInput1 where row(“Field2”).tostring = “青森”
“Field1”.“Field2"のセットで重複が無いように"Field3”, "Field4"の値を集計する方法がわかりません。

重複する行は何行あるか不明です。
以下のサンプルは例でして、実際は集計したい列は10列を超えます

何か良い案がありましたらお教え願いたいです。

<1>
Field1,Field2,Field3,Field4
りんご,青森,100,1
みかん,和歌山,100,4
みかん,和歌山,100,5
メロン,北海道,100,6
りんご,青森,100,2
みかん,愛媛,100,3
みかん,和歌山,100,4

<2>
Field1,Field2,Field3,Field4
りんご,青森,200,3
みかん,和歌山,200,9
メロン,北海道,100,6
みかん,愛媛,100,3
みかん,和歌山,100,4

例えば、「列の追加」アクティビティで「Field0」みたいな列を追加し、その列に「Field1」&Controlchars.tab&「Field2」を代入し、その後、「Field0」の値をキーとして、「Field2」、「Field3」を集計する…

ってのはどうでしょう?

DataTable型ですと、もっと簡単な集計方法があるかもしれませんね。

が参考になるかと思います。

自分の勉強がてらサンプルを作成しましたのでご参考まで
Main.xaml (14.9 キロバイト)

※9割以上上記スレッドのn-shiumi様のサンプルです。(今見返しましたがコピーしたままで、コメントが間違えていますので、惑わされないようにお願いします。。)

1 Like

サンプル、面白いやり方ですね!私も勉強になりました!