以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]条件统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=102412)

--  作者:lgj716330
--  发布时间:2017/6/19 15:02:00
--  [求助]条件统计
b.HGroups.AddDef("日期",DateGroupEnum.year,"年")
b.HGroups.AddDef("日期",DateGroupEnum.month,"月")
b.VGroups.AddDef("科目名称")
b.Totals.AddDef("发生额_贷方",”本月“)

科目名称有“收入”和“支出”
发生额有“发生额_借方“和”发生额_贷方“

按条件统计如何写编码,如科目名称是收入,则统计发生额_贷方,如果科目名称是支出,则统计发生额_借方
好外没用狐表了,有点晕乎了

附件上传不了,不知怎么回事,

[此贴子已经被作者于2017/6/19 15:46:05编辑过]

--  作者:有点色
--  发布时间:2017/6/19 15:17:00
--  

 有必要加条件吗?直接统计得到的不就是你要的?


--  作者:有点色
--  发布时间:2017/6/19 15:20:00
--  
 使用ie浏览器方法论坛,上传的文件大小不要超过2M
--  作者:lgj716330
--  发布时间:2017/6/19 15:48:00
--  
有必要呢,原始数据是两列,统计后要变成一列,列名称我名为“本月”
--  作者:有点色
--  发布时间:2017/6/19 15:56:00
--  

 要用SQLCrossTableBuilder,如果是access数据库,这样写

 

b.Exprs.Adddef("本月","iif(科目名称=\'收入\', 发生额_贷方, 发生额_借方)")

 

 如果是sqlserver

 

b.Exprs.Adddef("本月","case when 科目名称=\'收入\' then 发生额_贷方 else 发生额_借方 end")


--  作者:lgj716330
--  发布时间:2017/6/19 16:35:00
--  
编译错误:“adddef”不是“system.collections.generic.list(of expression total)”的成员
--  作者:lgj716330
--  发布时间:2017/6/19 16:43:00
--  
奇怪,用IE浏览器,添加附件这里还是点不了
--  作者:有点色
--  发布时间:2017/6/19 16:52:00
--  

b.Totals.AddExp("本月","iif(科目名称=\'收入\', 发生额_贷方, 发生额_借方)")

 

 如果是sqlserver

 

b.Totals.AddExp("本月","case when 科目名称=\'收入\' then 发生额_贷方 else 发生额_借方 end")


--  作者:lgj716330
--  发布时间:2017/6/19 17:42:00
--  
搞定,谢谢有点色

--  作者:lgj716330
--  发布时间:2017/6/20 13:46:00
--  
b.Totals.AddExp("期末余额","case when 科目性质=\'资产\' then [期末余额_借方]-[期末余额_贷方] else [期末余额_贷方]-[期末余额_借方] end")

这里面如果带有计算公式要如何弄