以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 交叉统计的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194770) |
|
-- 作者:lin98 -- 发布时间:2025/1/13 11:17:00 -- 交叉统计的问题 交叉统计 Dim b As New CrossTableBuilder("统计表1", DataTables("表C")) b.HGroups.AddDef("品名") \' b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") \' b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") \' b.Totals.AddDef("数量") \' b.VerticalTotal = True \'垂直汇总 b.HorizontalTotal = True \'水平汇总 b.Build \'生成统计表 由听说用SQL会更快,上面好象也是SQL语句封装的, 用SQL如何实现上面功能?
|
|
-- 作者:有点蓝 -- 发布时间:2025/1/13 11:30:00 -- 没有办法使用sql实现 |
|
-- 作者:lin98 -- 发布时间:2025/1/13 21:30:00 -- If Tables("表C").current.IsNull("审核") Then Dim b As New CrossTableBuilder("统计表1", DataTables("表C")) b.HGroups.AddDef("品名") \' b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") \' b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") \' b.Totals.AddDef("数量") \' b.VerticalTotal = True \'垂直汇总 b.HorizontalTotal = True \'水平汇总 b.Build \'生成统计表 End If 需求:如果表C的 审核为是就汇总,如果否,为不汇总。上面代码执行后,没报错,也没实现汇总,如何处理?
|
|
-- 作者:有点蓝 -- 发布时间:2025/1/13 22:27:00 -- http://www.foxtable.com/webhelp/topics/0595.htm
|
|
-- 作者:lin98 -- 发布时间:2025/1/14 9:31:00 -- If Tables("表C").current("审核")=true Then DataTables("生产日报表").DeleteFor("") Dim b As New CrossTableBuilder("统计表1", DataTables("表C")) b.HGroups.AddDef("品名") \' b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") \' b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") \' b.Totals.AddDef("数量") \' b.VerticalTotal = True \'垂直汇总 b.HorizontalTotal = True \'水平汇总 b.Build \'生成统计表 End If 执行后,没按条件统计。需求:如果表C的 审核为是就汇总,如果否,为不汇总?
|
|
-- 作者:有点蓝 -- 发布时间:2025/1/14 9:58:00 -- ![]() ![]() |
|
-- 作者:lin98 -- 发布时间:2025/1/14 10:41:00 --
[此贴子已经被作者于2025/1/14 10:57:29编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2025/1/14 11:03:00 -- b.Filter = "[审核] =true" |
|
-- 作者:lin98 -- 发布时间:2025/1/14 11:38:00 -- If Tables("订单").Filter = "[审核] Is Null AND [审核]= \'\'" Then Dim b As New GroupTableBuilder("统计表1", DataTables("订单")) b.Filter = "[审核] =true" b.Groups.AddDef("产品") \' \' b.Groups.AddDef("客户") \' b.Totals.AddDef("数量") \' Tables("窗口1_Table1").DataSource = b.BuildDataSource() \' End If 还是不行?需求是先判断订单中审核列是否空值,如果是空值时进行统计,否则,不统计
|
|
-- 作者:有点蓝 -- 发布时间:2025/1/14 13:31:00 -- 去掉if代码 Dim b As New GroupTableBuilder("统计表1", DataTables("订单")) b.Filter = "[审核] =false" b.Groups.AddDef("产品") \' b.Totals.AddDef("数量") \' Tables("窗口1_Table1").DataSource = b.BuildDataSource() \'
[此贴子已经被作者于2025/1/14 13:31:03编辑过]
|