Foxtable(狐表)用户栏目专家坐堂 → 统计


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

主题:统计

美女呀,离线,留言给我吧!
Springamy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
统计  发帖心情 Post By:2017/11/17 18:04:00 [只看该作者]

我要按照类型统计数据:

如果类型包含'退货',把退货金额汇总

如果不是退货金额,汇总在非退货列

这个怎么统计

 


 


图片点击可在新窗口打开查看此主题相关图片如下:02.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/17 18:16:00 [只看该作者]

 

select (case when 类型 = '退款' then syje else 0 end) as 退款, (case when 类型 = '退款' then 0 else syje end) as 非退款


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/20 14:08:00 [只看该作者]

你好,有两个问题:

1、需要把退货款及非退货款做统计计算,但是非退货款列统计不出来(类型为现金、折扣等的还是会按照类型分组,并没有统计在非退货款列)

2、直接用sql是可以显示出退货款列及非退货款列的,但是添加到函数里面的时候,执行函数还是没有这两列,不知道是哪里有问题了

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 14:17:00 [只看该作者]

1、你sql语句有问题,分组的话,请最后再分组处理。

 

2、贴出你写的代码,或者做个例子发上来。


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/20 15:40:00 [只看该作者]

已解决好,谢谢

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
除数问题  发帖心情 Post By:2017/11/20 16:37:00 [只看该作者]

如图:

甜大,我需要计算 进供货比例,但是 进货金额和供货金额有可能是0,在sql里面,怎么写条件

e.jhje/e.ghje as 进供货比例


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 17:09:00 [只看该作者]

(case when e.ghje = 0 then null then e.jhje/e.ghje end) as 进供货比例

[此贴子已经被作者于2017/11/20 17:09:41编辑过]

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/20 18:20:00 [只看该作者]

谢谢,这个表连接的时候还出现了一个问题

查询出的xmdd 数据作为e 表,跟a 表连接可取出相关字段,直接用sql是可以查出数据的

但是放到函数中报错:统计_Table4 中没有 付款认定金额列 ,连接的数据源没有问题

如图:

 

 s = "SELECT a.rq AS 订单日期, a.cghthm AS 订单号, a.gysddhm as 单号,a.quyu as 区域,a.zrbm as 办事处,a.cpx as 产品线,a.ddlx AS 订单类型, a.cplx AS 产品类型,a.cglx as 采购类型,"  

            s = s & " a.gys AS 供应商, a.xmmc AS 项目名称, a.htje AS 订单总金额, ISNULL(b.dccj, 0) AS 抵充差价,isnull(d.退货款,0)as 退货款,isnull(d.非退货款,0)as 非退货款, a.htje + ISNULL(b.dccj, 0) AS 实际应付金额,c.fkrddate as 付款认定日期,c.fkrdje as 付款认定金额,c.sjfkdate as 付款日期,c.fkje as 付款金额,e.jhje as 进货金额,e.ghje as 供货金额,e.bl as 进供货比例,e.yjgs as 业绩归属 FROM cght a " 

            s = s & " LEFT OUTER JOIN (SELECT cgid, SUM(syje) AS dccj FrOM cgswbcmx GROUP BY cgid) b ON a.id = b.cgid "
            s = s & " LEFT OUTER JOIN (SELECT cgid, sjfkdate,fkje, fkrddate,fkrdje FROM cgfk where fkqr=1 ) c ON a.id = c.cgid "
            s = s & "LEFT OUTER JOIN (select cgid,sum(退货款) as 退货款,sum(非退款)as 非退货款 from (select cgid,(case when lx = '退货' or lx = '退货 款'then syje else 0 end) as 退货款, (case when lx = '退货' then 0 else syje end) as 非退款 from cgswbcmx) as th  group by cgid) as d on a.id = d.cgid"
            s = s & "LEFT OUTER JOIN(select xmdhout,jhje,ghje,yjgs ,(case when ghje >0 then(jhje/ghje) else 0 end ) as bl from xmdd) as e on a.gysddhm = e.xmdhout where a.gysddhm<>'' and e.xmdhout<>''" '与xmdd做表连接,取出进货金额,供货金额,进供货比例,业绩归属等字段
            s=s & tj & fw & " order by c.fkrddate "  '条件\范围
            msgbox("执行")------------------------->这里可以执行    ,然后就报错了,也就是s 有问题,但是我用sql查询,是没有问题的     
            Tables("统计_Table4").Fill( s , "zt",True)
            Tables("统计_Table4").SetColVisibleWidth("付款认定日期|90|供应商|160|订单类型|70|产品线|60|产品类型|70|采购订单号|110|付款认定金额|100|订单总金额|100|区域|50|办事处|70|项目名称|160")
            DataTables("统计_Table4").DataCols("付款认定金额").SetFormat("#,##0.00")
            DataTables("统计_Table4").DataCols("订单总金额").SetFormat("#,##0.00")
            msgbox("执行1")

 


此主题相关图片如下:1.png
按此在新窗口浏览图片

此主题相关图片如下:2.png
按此在新窗口浏览图片

此主题相关图片如下:3.png
按此在新窗口浏览图片

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 18:29:00 [只看该作者]

加入代码,output.show(s)

 

然后拷贝生成的sql语句在你sql测试窗口运行


 回到顶部