Foxtable(狐表)用户栏目专家坐堂 → GroupTableBuilder统计表中获取最大最小日期


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

主题:GroupTableBuilder统计表中获取最大最小日期

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
GroupTableBuilder统计表中获取最大最小日期  发帖心情 Post By:2022/2/13 20:37:00 [只看该作者]


老师好。在统计表中,能否直接获取最大日期、最小日期?谢谢!

Dim cmd As new SQLCommand

cmd.C
cmd.CommandText = "sele ct [_identify],单位,订单号,日期 from {订单流水}"' where 日期 >= '" &  t1 & "' And 日期 <= '" & t2 &"'"
Dim dt As DataTable = cmd.ExecuteReader(True)

Dim b1 As New GroupTableBuilder("统计表1",dt)

b1.Groups.AddDef("单位") '
b1.Totals.AddDef("最小日期") '
b1.Totals.AddDef("最大日期") '
b1.Build '生成统计表
[此贴子已经被作者于2022/2/13 20:41:52编辑过]

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


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

在Totals集合中添加一个统计列的语法如下: 

Totals.AddDef(Name)
Totals.AddDef(Name, NewName)
Totals.AddDef(Name, NewName, NewCaption)
Totals.AddDef(Name, Aggregate)
Totals.AddDef(Name, Aggregate, NewName)
Totals.AddDef(Name, Aggregate, NewName, NewCaption)

参数说明 

Name:        字符型,指定统计列。
NewName:     字符型,用于给统计列指定一个新的名称,这个名称在统计表中显示。
NewCaption:  字符型,用于给统计列设置标题。
Aggregate:  AggregateEnum枚举型,用于指定统计类型,默认是求和。

AggregateEnum型枚举的可选值:

Average:平均值
Count:  记录数
Max:    最大值
Min:    最小值
Sum:    累积值


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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2022/2/13 21:02:00 [只看该作者]


老师,添加代码:  b1.Totals.AddDef("日期",AggregateEnum.min,"最大日期")   后,
         生成如下错误:从类型“Date”到类型“Decimal”的转换无效。

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


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

嗯,这个只能是数值列。没有办法,只能直接使用sql统计

cmd.CommandText = "select 单位,max(日期) as 最大日期,min(日期) as 最小日期 from {订单流水} where 日期 >= '" &  t1 & "' And 日期 <= '" & t2 &"' group by 单位"
Dim dt As DataTable = cmd.ExecuteReader()

dt就是统计表,不需要在使用GroupTableBuilder

 回到顶部