以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据表里有个逻辑列 是否支付,有“货款金额”列。我想在统计表里按不同客户分组统计出总的货款金额和已支付的货款金额。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83892)

--  作者:klg1011
--  发布时间:2016/4/19 11:54:00
--  数据表里有个逻辑列 是否支付,有“货款金额”列。我想在统计表里按不同客户分组统计出总的货款金额和已支付的货款金额。
数据表里有个逻辑列 是否支付,有“货款金额”列。我想在统计表里按不同客户分组统计出总的货款金额和已支付的货款金额。
想实现下面的统计表

公司名称 货款金额 支付金额
公司1 10000 5000
公司2 10000 5000
    b.Groups.AddDef("公司名称") \'根据名称分组
    b.Totals.AddDef("货款金额") \'对金额进行统计
    b.Totals.AddDef("货款金额","已付金额","[已发] = true")\'对已支付的货款金额统计,并把新增加的列名称改为"已付金额"

最后一句代码有错误,就是不知道该怎么写?


--  作者:klg1011
--  发布时间:2016/4/19 11:58:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:大红袍
--  发布时间:2016/4/19 12:01:00
--  

 方法一:加一列表达式列【已付金额】,公式 iif(已付=true, 贷款金额, null)

 

 方法二:要用sql的分组统计,比如

 

Dim b As New SQLGroupTableBuilder("统计表1","订单")
b.Groups.AddExp("年","Year(日期)")
b.Totals.AddDef(
"数量")
b.Totals.AddExp(
"金额","iif(已付=true, 贷款金额, 0)")
b.Build
MainTable = Tables("统计表1")


--  作者:klg1011
--  发布时间:2016/4/19 12:06:00
--  
谢谢 大红袍老师!!!