データテーブルから集計値を取得しようとしています。しかし、その方法を理解することはできません。 c#でいくつかの例を見ましたが、それらをvb.netに変換できませんでした。
私はデータテーブルを持っています
Month, campaign, sales, leads, gross
1 1 5 10 1000
1 2 0 5 0
2 1 2 0 300
2 2 1 3 200
結果を得る必要があります:
Month, sales, leads, gross
1 5 15 1000
2 3 3 500
手動で値をループして結合したくありません。助けてください
あなたはしたい Group by Month
? Sum
を使用して、グループを合計できます。
Dim query = From row In dt
Group row By Month = row.Field(Of Int32)("Month") Into MonthGroup = Group
Select New With {
Key Month,
.Sales = MonthGroup.Sum(Function(r) r.Field(Of Int32)("Sales")),
.Leads = MonthGroup.Sum(Function(r) r.Field(Of Int32)("Leads")),
.Gross = MonthGroup.Sum(Function(r) r.Field(Of Int32)("Gross"))
}
For Each x In query
Console.WriteLine("Month:{0} {1} {2} {3}", x.Month, x.Sales, x.Leads, x.Gross)
Next
これは、Linqクエリ構文とメソッド構文を組み合わせたものです。