DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: teacherlau
今日帖子: 63
在线用户: 16
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 draculamx (draculamx) ▲▲▲▲△ -
普通会员
2023/3/8 11:39:48
标题:
fastreport的AVG函数结果不准 浏览:801
加入我的收藏
楼主: 刚发现的问题,假设有一个字段“field65”,现在有个很简单的需求,计算这一列的平均值,在用fastreport的时候,只需要新建一个memo,然后把他的表达式写成:
[AVG(<frxDBDataset1."field65">,MasterData1)],就行了。

但是现在我发现,这个由报表计算出来的平均值,和我直接用SQL语句计算得到的平均值不一样。。。

毫无疑问,sql语句得到的值是正确的,我在想为什么会出现这个问题,最大的原因就是我在fastreport的MasterData中使用了一个memo来展示field65,然后我把格式设置成了保留两位小数,可能就是因为这个原因,是不是fastreport在计算AVG的时候,也只计算了保留两位小数的数据。。

有什么办法来解决这个事情呢。。。
此帖子包含附件:
PNG 图像
大小:7.6K
----------------------------------------------
C++ builder 用户前来摸鱼。。。
作者:
男 draculamx (draculamx) ▲▲▲▲△ -
普通会员
2023/3/8 11:48:01
1楼: 我奇怪的就是,在MasterData中使用了一个memo来展示field65,其格式也设置成了保留两位小数,但这个不是“格式”吗?真实的数据不止两位小数啊。

从现在的结果来看,fastreport在计算AVG函数的时候,应该是按保留的两位小数计算的,这也就是为什么我用sql计算出来的AVG和报表函数AVG,会有差异的原因了,相差0.2-0.3,这个差别很大了
此帖子包含附件:
PNG 图像
大小:10.5K
----------------------------------------------
C++ builder 用户前来摸鱼。。。
作者:
男 vmao (毛小毛) ★☆☆☆☆ -
盒子活跃会员
2023/3/16 17:25:00
2楼: 用sum函数,再除以数量试试。AVG可能四舍五入老外的理解和中国人有差异。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行78.125毫秒 RSS