以文本方式查看主题 - 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报表如何先保留一位小数,再合计? ![]() ![]() 我这样写:
|
|
-- 作者:有点蓝 -- 发布时间: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 -- ![]() ![]() 用 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个合计值 标记到报表里面 |