Kali ini saya akan berbagi tips, bagaimana cara mendapatkan nilai SUM dari variable system.data.datatable dengan cepat dan mudah (tanpa looping). OK, pertama kita isi dulu datatable dari database, contoh :
Dim data_table As New DataTable
Using adp As New SqlDataAdapter("select produk_id, group_id, stock, harga from master_produk", con)
adp.Fill(data_table)
End Using
Setelah itu, jika kita ingin mendapatkan nilai SUM dari harga, biasanya cara biasa/lama/classic adalah dengan looping ke semua row dan jumlahkan satu satu bukan? contoh :
Dim total_harga As Double = 0
For i As Integer = 0 Todata_table.Rows.Count - 1
total_harga = total_harga + data_table.Rows(i)("harga")
Next
MessageBox.Show(total_harga.ToStringTapi, ada cara yang lebih simple untuk melakukan SUM, MAX, MIN, AVG, COUNT. data table
sudah memiliki fitur untuk melakukan hal ini, yaitu dengan method "Compute", contoh :
Dim sum_harga As Double = data_table.Compute("SUM(harga)", "")
Dim max_harga As Double = data_table.Compute("MAX(harga)", "")
Dim min_harga As Double = data_table.Compute("MIN(harga)", "")
Dim avg_harga As Double = data_table.Compute("AVG(harga)", "")
Selain itu kita juga dapat melakukan SUM, MAX, MIN, AVG, COUNT dengan kriteria tertentu, contoh : SUM untuk yang group_id product nya = 'A' saja.
'sum harga dengan group_produk = A
Dim sum_harga As Double = data_table.Compute("SUM(harga)", "group_id='A'")
'count jumalah produk dengan group A,B,C
Dim count_produk As Double = data_table.Compute("AVG(harga)", "group_id IN ('A','B','C')")
Tags:
Select sum from system.data.datatable, SUM, MAX, MIN, AVG, COUNT datatable, how to sum field of datatable, cara mudah sum grand total tanpa looping ke datatable, datatable sum function,Find average of a specific number of rows/columns in VB.Net ,Compute Feature of DataTable, How to use Count,Calculate sum(), Caluculate Max() in VB.NET
klo koding ini Dim data_table As New DataTable
BalasHapusUsing adp As New SqlDataAdapter("select produk_id, group_id, stock, harga from master_produk", con)
adp.Fill(data_table)
End Using
di tambahkan 2 datepickier untuk filter periode jadinya gmn om