Foxtable(狐表)用户栏目专家坐堂 → 分组 计数,找不到列名的问题


  共有3046人关注过本帖树形打印复制链接

主题:分组 计数,找不到列名的问题

帅哥哟,离线,有人找我吗?
qq252476275
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 8:06:00 [只看该作者]

执行 b.Groups.AddDef('加班日期',5,'','')  // 时间按日统计

执行 b.Groups.AddDef('加班日期',3,'','') // 时间按月统计

获得效果一0样,并没有按月统计,应该如何解决?。

0: {部门名称: "调试部(筹)", 加班日期: "2021-09-29", 总人数: 0, 占比: 0}
1: {部门名称: "调试部(筹)", 加班日期: "2021-10-08", 总人数: 0, 占比: 0}
2: {部门名称: "调试部(筹)", 加班日期: "2021-10-09", 总人数: 0, 占比: 0}
3: {部门名称: "调试部(筹)", 加班日期: "2021-10-10", 总人数: 0, 占比: 0}
4: {部门名称: "调试部(筹)", 加班日期: "2021-10-11", 总人数: 0, 占比: 0}



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/13 8:30:00 [只看该作者]

b.Totals.AddDef('加班人数',4,'','')
改为
b.Totals.AddDef("部门名称",AggregateEnum.count,''加班人数")

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/13 8:39:00 [只看该作者]

没有按月统计去掉多余的参数试试

b.Groups.AddDef('加班日期',5)  

 回到顶部
帅哥哟,离线,有人找我吗?
qq252476275
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 9:15:00 [只看该作者]



当前函数:sqlGroup
执行 b.Groups.AddDef('部门名称')
执行 b.Groups.AddDef('加班日期',5')
执行 b.Totals.AddExp('总人数','isnull(部门人数,0)','总人数',6)
执行 b.Totals.AddDef('部门名称',4,'加班人数')
执行 b.Filter = 可用 = 1
执行开始
执行完成


传入e.Path : group
当前函数:sqlGroup
执行 b.Groups.AddDef('部门名称')
执行 b.Groups.AddDef('加班日期',3')
执行 b.Totals.AddExp('总人数','isnull(部门人数,0)','总人数',6)
执行 b.Totals.AddDef('部门名称',4,'加班人数')
执行 b.Filter = 可用 = 1
执行开始
执行完成

两次的结果还是一样


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/13 9:20:00 [只看该作者]

新建一个项目,直接使用常规方式做统计,看看有没有问题。您这种过度封装的代码我基本看不出代码逻辑的问题所在

 回到顶部
帅哥哟,离线,有人找我吗?
qq252476275
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 10:01:00 [只看该作者]

使用我的逻辑执行
传入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

 回到顶部
帅哥哟,离线,有人找我吗?
qq252476275
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 10:19:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("tempDB" ,"neightWorkAddMain")
b.C

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/13 10:51:00 [只看该作者]

所谓的分年月日统计最终需要什么效果?

 回到顶部
帅哥哟,离线,有人找我吗?
qq252476275
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 11:06:00 [只看该作者]

部门      加班日期     总人数      加班人数
部门1   2020-09      12000       3000
部门1   2020-10      12500       2800
部门2   2020-09      3000          1200
部门2   2020-10      3500          1500

           

 回到顶部
帅哥哟,离线,有人找我吗?
qq252476275
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 11:09:00 [只看该作者]

按年

部门      加班日期   总人数   加班人数
部门1     2021       120000     50000
部门1     2022       145000     38000
部门2     2021        50000      10000
部门2     2022        60000      12000

按天
部门            加班日期      加班人数    总人数   
调试部(筹)  2021-09-29  2            422  
调试部(筹)  2021-10-10  12          422
调试部(筹)  2021-10-09  21          422
调试部(筹)  2021-10-08  25          422

 回到顶部
总数 40 上一页 1 2 3 4 下一页