FastReport中自带函数sum,count如何带条件计算? ( 积分: 50 )

  • 主题发起人 主题发起人 wwk
  • 开始时间 开始时间
W

wwk

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:我想对记录中字段F_Age中大于15的F_money数据进行sum,该如何操作?谢谢
 
你自己定义一个变量,可以在fastreport的脚本实现。
这样应该可以。
var mysum :single;

procedure Memo1OnBeforePrint(Sender:TfrxComponent);
begin
这里写条件和累计
end;
 
这个方法是可以,我目前就是这样做的,可是比较麻烦,一旦多几个字段、多分几个组,就需要写很多变量:分组的,分字段的,,还要在几个事件中初始化变量,难道没有简单的方法吗? sum在fr中的实现原理是什么?
谢谢zywcd,请继续
 
有半年没用fastreport了,记得好像可以在 sum()里面使用if()
因为没有安装控件,所以没有办法调试,,我想大概可以这样sum(if(F_money>15,F_money))
具体怎么写要在环境中,,不对勿怪啊
 
直接在fast里面写不就可以了。[sum<....>.....]
 
to nakata_wang 兄: 我试过了,if()不支持,但是有iif()函数,可是对count函数怎么用? count(iif(F_money>15,F_money,0)) 也就是说 money > 15 的就count(f_money),否则就count(0) ,可是这是什么意思?
to jiangsuyang 兄:能说得详细点吗?
谢谢
 
我实际项目中的问题是:我想在每一个分组里(以类型分组),对年龄大于15的人员的进行计数统计,而又不能通过SQL语句来实现,如果不显示小于15的,也简单,可是问题是我要显示所有人员,却要在每组统计里面显示出大于15的人员数,各位兄台帮帮看
 
to wwk:
很抱歉,我公司的机器上面没有安装fr,count这个怎么实现不能猜了就,如果晚上我回家后该帖子还没解决我会看看的,因为以前我工作中也确实用到过类似的问题,比你这个情况要复杂的多,,
 
好的,先顶一顶
 
在顶,同时,还有个问题:分组条件里面能够用 10< F_Age <20 这样分组吗?
 
目前我采用此方式解决Count条件问题: 使用iif语句,判断字段条件,真为1,假为0,然后采用sum,呵呵,也能达到对符合条件的计数问题,大家还有其他妙招吗?
对于区域分组(类似:10< F_Age <20 ),我还没有好办法,目前采用的是多个masterdata,然后在其onBeforePrint进行过滤显示,这个办法有点土,多分几个组,就比较麻烦,大家有其他好招吗?谢谢
 
很抱歉,昨晚大学同学聚会,喝多了, 没及时帮你想办法解决,暂时给你顶一下
区域分组记得可以在fr的代码里面写,,你选择分组头,然后按&quot;alt+enter&quot;组合键,出现代码编辑区域,在那里面设定条件试试,,fr使用的是简化的pascal,
这样,你使用的fr是什么版本?我去下载一个装上,我们可以一起研究办法,(对昨天言而无信的事情太内疚啦)
 
呵呵,言重了,nakata_wang兄,多谢你了,我用的是4.0.11版本
 
按照你的说法“选择分组头,然后按&quot;alt+enter&quot;组合键,出现代码编辑区域”条件设定了,例如:运算式-(f_age > 10) and (f_age < 20),不过它是按照true、false分的组,呵呵,晕了
 
本公司诚聘软件工程师数名,要求大专以上学历,计算机专业,熟练掌握DELPHI+SQL编程,能开发C/S 或B/S结构的应用软件,二年以上工作经验,有在软件公司工作经验优先考虑。有意者请联系QQ419682853,邮箱:ljy42af@gdou.com
 
我采用了iif(<F_Age> > 10,'10岁',iif(....))这种嵌套条件来解决了区域分组问题,不知道是否还有其他方式,但是却又碰到问题就是,当还有下一级分组时,无法正确分组,即使我在SQL中已经对该分组字段进行了排序,急啊。。。。
 
样式结构如下:
....10岁~20岁.......
......男......
...........xxxx.....
........女........
..........xxxx....
....20岁~30岁.........
.........男......
.........xxxx....
.........女........
.........xxxx....
.....30岁以上.........
就是年龄段为第一分组,然后性别,
可是,排序order by F_Age,F_Sex,性别分组不正确,没分成,各位看看到底什么原因,谢谢
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部