Crystal reports 水晶报告:Sumarize公式字段

Crystal reports 水晶报告:Sumarize公式字段,crystal-reports,Crystal Reports,我想要一个公式字段,如下所示 If Count(Employees.Trainings, Employees.EmployeeID)>=1 Then Employees.EmployeeID Else Null 我的目标是计算这个公式,这样我就知道有多少员工至少完成了一次培训。 显然,这在Crystal报告中是不可能的。 有解决办法吗? 我希望我的报告如下所示: Department Employees Sum(days) Employees who have at

我想要一个公式字段,如下所示

If Count(Employees.Trainings, Employees.EmployeeID)>=1 Then
   Employees.EmployeeID
Else
   Null
我的目标是计算这个公式,这样我就知道有多少员工至少完成了一次培训。 显然,这在Crystal报告中是不可能的。 有解决办法吗? 我希望我的报告如下所示:

Department   Employees  Sum(days)  Employees who have at least one training
Department A      25       120                                        20 
Department B      12       34                                         10 
我错过了最后一篇专栏文章。
我的报告按部门和员工ID分组。谢谢

最好的方法是创建助手查询来计算一些聚合,并在CR中链接此查询

如果这不可能,您可以创建SQL表达式字段来查找内部计数-如果您有其他条件,筛选员工,这可能有点困难


下一种可能是使用子报表来计算接受培训的员工数量,使用共享变量在主报表和子报表之间交换数据,并使用打印时间公式对其进行汇总。

我建议的最佳简单方法是扩展到您已经做过的工作

因为您已经按
部门
员工ID

将培训的详细信息与其他字段一起放置,现在获取要显示的组的组页脚中培训的总和,这将为您提供培训的数量以及员工和天数

if employeehastrainings //use condition (as I am not aware how is your database data for this field )to check trainings are there are not..here you don't what kind of training just needed whether training is presenet are not
then 1
else 0
页脚中的这个总和将为您提供从
0
到任意数字的培训次数

现在,您只需将训练次数等于或小于训练次数的记录加起来即可

转到组页脚上方,并在下面写入公式

If sum(Employees.Trainings, Employees.EmployeeID)<=1 Then
true
else 
false

如果sum(Employees.Trainings,Employees.EmployeeID)的问题不太清楚..你能展示一下设计的样子和你想要的是什么吗嗨,很抱歉回复太晚了。我编辑了我的问题。好的,我理解这个问题。。。现在的问题是,是否要显示完成一次以上培训的员工id?是否只显示具有一次以上培训的记录。。。因为根据你的例子,看起来你只是在显示训练次数不,我不知道;不需要显示任何ID或名称。只有计数。谢谢你的回答。我对crystal reports一窍不通,所以我尝试使用子报表,了解员工完成了多少培训。但我不知道如何计算参加多个培训的人数,并将其显示在员工组上方(部门组)的组标题上。我也尝试过添加一个命令(我想这就是你所说的“helper query to calculation some aggregates”的意思),我目前正在这样做。“helper query”是指数据库中的视图,而不是Crystal数据库命令。嗨!谢谢你的回答,很抱歉迟了回复。您的解决方案(如果我理解并正确执行了所有操作)显示接受培训>=1的员工的姓名。但是我不需要名字。我只需要知道他们有多少人。如果在我的报告中有所帮助,我还可以“计数”他们完成的培训数量员工组级别上的摘要字段。除了部门组之外,是否有办法再次计算此摘要字段?有办法,但不幸的是,今天我休息一天,因此我无法访问crystal report,但明天我在办公室时将测试并发布解决方案。不用担心!这是许多项目中的一个。但是,我想补充的是,我确实通过“初始化计数重置”公式字段/方法,获得了员工组中接受过1次以上培训的员工的计数。是否有办法将此计数“移动”到上面的组(“部门”)?上面的部门表示在部门标题中?例如,whish是第一个组。