以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  excel报表如何先保留一位小数,再合计?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140039)

--  作者:sloyy
--  发布时间:2019/8/28 11:45:00
--  excel报表如何先保留一位小数,再合计?

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

我这样写:
[%Sum(<round([本金],1)>)]
结果是错的



--  作者:有点蓝
--  发布时间:2019/8/28 12:11:00
--  
不应该是合计后再取一位小数,这样数据更准确吗?


<Round(*[%Sum(本金)]*,1)>

--  作者:sloyy
--  发布时间:2019/8/28 12:16:00
--  
是这样:今天发现导出的数据和显示的数据不一致,差了0.3 我怀疑是四舍五入的问题,所以要先四舍五入,再合计
--  作者:sloyy
--  发布时间:2019/8/28 12:21:00
--  

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

用 sum(i4:i1108)统计出来的数据是正确的,用[%Sum(本金)]统计出来的是错误的

--  作者:sloyy
--  发布时间:2019/8/28 12:22:00
--  
哪里出了问题?
--  作者:sloyy
--  发布时间:2019/8/28 12:41:00
--  
[本金]数据我检查过了,小数位只有1位,但是用 [%Sum(本金)]统计出来的是错误的,少了0.3 ,问题出在哪里?
--  作者:有点蓝
--  发布时间:2019/8/28 14:28:00
--  
[%Sum(本金)]统计的是datatable的数据,而不是execl看得到的数据。Foxtable单元格如果设置了只显示一位数,并不等于数据库里也只有一位小数,只是不显示而已,这个可以打开后台数据库看看数据
--  作者:sloyy
--  发布时间:2019/8/28 15:20:00
--  
明白了,就本例来说,后台数据库是2位小数,foaxtable单元格设置了只显示一位小数;
现在要怎么解决这个问题呢?就是 本金只保留一位小数,然后再合计,这个表达式我怎么设置都不对

--  作者:有点蓝
--  发布时间:2019/8/28 15:51:00
--  
这个没有办法设置,模板表达式不支持。或者在报表事件里处理:http://www.foxtable.com/webhelp/topics/1957.htm
--  作者:sloyy
--  发布时间:2019/8/28 23:19:00
--  
Dim cmd As New SQLCommand
cmd.CommandText = "S ELECT sum(round(交费金额,1)) as 交费金额合计,sum(round(本金,1)) as 本金合计,sum(round(滞纳金,1)) as 滞纳金合计 From {租金库} where " &filter
Dim Values = cmd.ExecuteValues
查询出3个合计值
标记到报表里面