在狐表提供的SQlGroupTableBuilder/SQlCrossTableBuilder,对于日期时间的处理不够友好。
很多时候,我就是想根据年月日汇总,得拆分为年→月→日3层表头统计,不能直接用 “yyyy-mm-dd”的格式。


又或者不处理DateGroupEnum.None

时分秒不能合并,导致不能按天合并统计

所以要巧妙利用Sql的Convert语法:CONVERT(date,你的纯日期列)
Dim g1 As New SQlCrossTableBuilder("g1", "销售记录")
g1.ConnectionName = "DB"
g1.Filter = filter
g1.HGroups.AddDef("所属店铺")
g1.HGroups.AddDef("站点")
g1.HGroups.AddDef("链接")
g1.VGroups.AddExp("销售日期", "CONVERT(date,销售日期)", "销售日期_{0}")
g1.Totals.AddDef("销量")
Dim t As Table = Tables(e.Form.Name & "_Table1")
t.DataSource = g1.BuildDataSource
官方本身也是支持Sql混写,只不过没有明说

语法:CONVERT(varchar(7), CreateTime, 120)
Dim g1 As New SQLGroupTableBuilder("g1", "TemuPurchaseInfo")
g1.ConnectionName = "DB"
g1.Filter = filter
g1.Groups.AddExp("CreateTime", "CONVERT(varchar(7), CreateTime, 120)")
g1.Totals.AddDef("TotalQty")
g1.Totals.AddDef("TotalPrice")