使用我的逻辑执行
传入e.Path : group
当前函数:sqlGroup
执行 b.Groups.AddDef('部门名称')
执行 b.Groups.AddDef('加班日期',5')
执行 b.Totals.AddExp('部门人数','isnull(部门人数,0)','总人数',6)
执行 b.Totals.AddDef('部门名称',4,'加班人数')
执行 b.Filter = 可用 = 1
执行开始
执行完成
输出的结果是上面的正确的,但是不能分日月年统计,都是36行数据
0: {部门名称: "调试部(筹)", 加班日期: "2021-09-29", 加班人数: 2, 总人数: 422}
1: {部门名称: "调试部(筹)", 加班日期: "2021-10-08", 加班人数: 25, 总人数: 422}
2: {部门名称: "调试部(筹)", 加班日期: "2021-10-09", 加班人数: 21, 总人数: 422}
3: {部门名称: "调试部(筹)", 加班日期: "2021-10-10", 加班人数: 12, 总人数: 422}
4: {部门名称: "调试部(筹)", 加班日期: "2021-10-11", 加班人数: 20, 总人数: 422}
5: {部门名称: "调试部(筹)", 加班日期: "2021-10-12", 加班人数: 125, 总人数: 422
使用以下代码:
Dim b As New SQLGroupTableBuilder("tempDB" ,"neightWorkAddMain")
b.C
b.Groups.AddDef("部门名称")
b.Groups.AddDef("加班日期", DateGroupEnum.day )
b.Totals.AddDef("部门名称",AggregateEnum.Count,"加班人数")
b.Totals.AddExp("部门人数","isnull(部门人数,0)","总人数",AggregateEnum.Average)
b.Filter = "可用 = 1"
Dim dt As DataTabledt = b.Build(True)
For i As Integer = 0 To dt.DataRows.Count - 1
Dim dr As DataRow = dt.DataRows(i)
Dim str As String =""
For Each dc As DataCol In dt.DataCols
If dc.IsNumeric Then
str = str & " " & val(dr(dc.Name))
Else
str = str & " " & dr(dc.Name).ToString()
End If
Next
output.show(str)
Next
输出的结果是这个,也不分年月日统计,
调试部(筹) 2021-09-29 2 422
调试部(筹) 2021-10-10 12 422
调试部(筹) 2021-10-09 21 422
调试部(筹) 2021-10-08 25 422