Imports System.Data.DataSetExtensions
Dim Stkyard() As String = {"ST", "PL"}
Dim dtTemp as New DataTable
dtTemp.Columns.Add("Type", GetType(String))
dtTemp.Columns.Add("Month", GetType(String))
dtTemp.Columns.Add("MonthDesc", GetType(String))
dtTemp.Columns.Add("Value1", GetType(Decimal))
dtTemp.Columns.Add("Value2", GetType(Decimal))
dtTemp.Rows.Add("ST",01,"Jan 16", 10, 30)
dtTemp.Rows.Add("ST",02,"Feb 16", 20, 35)
dtTemp.Rows.Add("ST",03,"Mar 16", 15, 23)
dtTemp.Rows.Add("GE",01,"Jan 16", 10, 30)
dtTemp.Rows.Add("GE",02,"Feb 16", 40, 35)
dtTemp.Rows.Add("GE",03,"Mar 16", 25, 23)
dtTemp.Rows.Add("PL",01,"Jan 16", 70, 40)
dtTemp.Rows.Add("PL",02,"Feb 16", 55, 52)
dtTemp.Rows.Add("PL",03,"Mar 16", 37, 23)
Dim dtQuery = (From row In dtTemp
New With {Key .mth = row.Item(1), Key .mthdesc = row.Item(2)} Into Group,
val1 = Sum(Convert.ToDecimal(row.Item(3))), val2 = Sum(Convert.ToDecimal(row.Item(4)))
Where Group.Any(Function(p) Stkyard.Contains(p.Item(0)))
Select New With {grp.mth, grp.mthdesc, val1, val2}
Console.WriteLine( "Month " & row.mthdesc & "---" & row.val1 & "---" & row.val2)