Requete Linq GroupBy sur plusieurs colonnes
Bonjour
J'ai une table qui est constituée de 4 colonnes : Machine, Model, Company et DispatchQty.
Sur cette table j'ai crée une requete Linq dans VB.NET qui fait le regroupement par "Machine" et qui fait la somme de "DispatchQty" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim table As DataTable = journalierDataSet.Tables("Sheet1")
Dim query = From conso In table.AsEnumerable() _
Group By Machine = (conso.Field(Of String)("Machine")) Into g = Group _
Select New With { _
.Machine = Machine, _
.Litre = g.Sum(Function(conso) conso.Field(Of Double)("DispatchQty"))}
Dim table1 As DataTable = journalierDataSet.Tables("Sheet11")
For Each p In query
Dim rw As DataRow = table1.NewRow()
rw("Machine") = p.Machine
rw("Litre") = p.Litre
table1.Rows.Add(rw)
Next
DataGridView1.DataSource = table1
End Sub |
Maintenant comment faire pour arriver à faire un regroupement sur les trois colonnes (Machine, Model et Company) et enfin recuperer les trois colonnes déjà regroupés + la derniere colonne qui fait la somme.
Merci d'avance.