以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 组合多个统计结果如何应用相同的筛选条件啊? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140999) |
-- 作者:guosheng -- 发布时间:2019/9/19 9:23:00 -- 组合多个统计结果如何应用相同的筛选条件啊? 例如:跟bd1加一个filter条件,bd1.filter="产品名称=\'PD01\'" 而《销售单》没有存储,“产品名称”这一列,所以怎么将 bd2.filter也设应用bd1.filter的条件啊? Dim bd1 As New
GroupTableBuilder("统计表1",DataTables("进货单")) Dim bd3 As New
GroupTableBuilder("统计表3",DataTables("退货单")) dt1.Combine("型号",dt2,"型号") \'将销售统计数据组合到进货统计数据 |
-- 作者:有点蓝 -- 发布时间:2019/9/19 11:08:00 -- 改为这种方式 Dim bd1 As New GroupTableBuilder("统计表1",DataTables("进货单")) Dim dt1 As fxDataSource bd1.Groups.AddDef("型号") \'根据型号分组 bd1.Totals.AddDef("数量","进货_数量") \'对数量进行统计 bd1.Totals.AddDef("金额","进货_金额") \'对金额进行统计 bd1.Filter = "名称 = \'1\'" dt1 = bd1.BuildDataSource() Dim jb2 As New SQLJoinTableBuilder("查询表1","销售单") jb2.AddCols("型号",True) jb2.AddExp("销售_数量","Sum({销售单}.数量)") jb2.AddExp("销售_金额","Sum({销售单}.数量 * {销售单}.售价)") jb2.Filter = "型号 in (select 型号 from {进货单} where 名称 = \'1\')" ‘’Output.Show(jb2.BuildSql()) Dim dt2 As fxDataSource = jb2.BuildDataSource() Dim jb3 As New SQLJoinTableBuilder("查询表1","退货单") jb3.AddCols("{退货单}.型号",True) jb3.AddExp("退货_数量","Sum({退货单}.数量)") jb3.AddExp("退货_金额","Sum({退货单}.数量 * {退货单}.单价)") jb3.Filter = "型号 in (select 型号 from {进货单} where 名称 = \'1\')" ‘’Output.Show(jb3.BuildSql()) Dim dt3 As fxDataSource = jb3.BuildDataSource() dt1.Combine("型号",dt2,"型号") \'将销售统计数据组合到进货统计数据 dt1.Combine("型号",dt3,"型号") dt1.show("查询表1") |