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


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

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

帅哥哟,离线,有人找我吗?
qq252476275
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
执行开始
执行完成

两次的结果还是一样


 回到顶部
帅哥哟,离线,有人找我吗?
qq252476275
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
qq252476275
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 11:26:00 [显示全部帖子]

是在页面上选择日,月,年,分组类型, 再选择日期范围,然后进行统计

按天统计没有问题, 使用了DateGroupEnum.year出来的结果还是按天来的

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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 11:28:00 [显示全部帖子]

设置按年统计

执行 b.Groups.AddDef('主管')
执行 b.Groups.AddDef('加班日期',1')
执行 b.Totals.AddExp('主管人数','isnull(主管人数,0)','总人数',6)
执行 b.Totals.AddDef('主管',4,'加班人数')
执行 b.Filter = 可用 = 1 and ( year(加班日期) >= '2021' and   year(加班日期) <= '2021' )
执行开始
执行完成


出来的结果,还是日期的样式

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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 13:12:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:后台执行语句.png
图片点击可在新窗口打开查看

还是不行,

b.groups.adddef("加班日期", DateGroupEnum.year "年")
b.groups.adddef("加班日期", DateGroupEnum.year ) 没有区别,只是最后的列标题由 "加班日期" 变成了 "年" 

使用的是Groups.AddDef(Name, DateGroup, NewName) 函数。
图片点击可在新窗口打开查看此主题相关图片如下:前段页面及结果.png
图片点击可在新窗口打开查看


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


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


图片点击可在新窗口打开查看此主题相关图片如下:命令窗口测试.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2021/10/13 13:40:00 [显示全部帖子]

数据库也要打包?

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