i want to get the average value of each product using the same data table,

Like the example in SS below

How can I do it?

i want to get the average value of each product using the same data table,

Like the example in SS below

How can I do it?

@Mulya_Habibi_Tullah1

please check this one.

Test_LINQ_Group_Sum_Count.xaml (7.4 KB)

It is handling Int TYpe. If you want floating values then you can put "Covert.todouble instead of Cint.

Hi,

First get unique values from â€śProductâ€ť columns and then filter â€śProductâ€ť column one by one, by using unique values. You will get filtered data tables.

then use below logic:

sum = 0

count = dt.rows.count

for each row in Dt:

{

sum = sum+ Convert.ToInt32(row.Item(â€śValueâ€ť).ToString)

}

Average = sum/count

Mark it as solution it solves your issue.

1 Like

Hi,

Can you try the following sample?

```
dt = dt.AsEnumerable.GroupBy(Function(r) r("Product").ToString).SelectMany(Function(g) g.Select(Function(r,i) dt.Clone.LoadDataRow({r("Product"),r("Value"),if(i=0,g.Average(Function(r2) CDbl(r2("Value"))).ToString,"")},False))).CopyToDataTable
```

Sample20230309-5L.zip (3.0 KB)

Regards,

Thanks All

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.