typedDataset (ds) とそのデータテーブル (dt) があります。データテーブルには列Date
(ttmmyyy) とがありWorktime
ます。Worktime を月ごとに合計したい。私はすでにWorktimeを合計することを達成しました
Dim sum = dt.AsEnumerable().Sum((Function(x) x.Worktime))
これを月ごとにグループ化するのに助けが必要です。
フィールドを含むテーブルを作成しましたが、次のクエリはうまく機能しました。
Dim query = From row In dt
Group row By VarDate= row.Field(Of DateTime)("Date") Into MonthGroup = Group
Select New With {
Key VarDate,
.Worktime = MonthGroup.Sum(Function(r) r.Field(Of Int32)("Worktime"))
}
VarDate
Date は独自のクラス用に予約されているため、変数を使用しました。
出力:
確認日: 2013 年 10 月 15 日作業時間: 150
確認日: 2013 年 10 月 16 日 勤務時間: 180
編集:
出力を取得するには、次を使用します。
For Each obj In query
Dim datet = obj.VarDate
Dim WorkH = obj.Worktime
Next
linq をoption infer on
使用するときに型を宣言しないようにするには、vb.net ドキュメントの最初の行に次の行を挿入します (そのため、型を宣言せずに dim datet = obj.Vardate を使用できます)。それはC#のvarのようなものです