【问题标题】:Crystal Reports: Sumarize formula fieldCrystal Reports:汇总公式字段
【发布时间】:2016-04-06 10:31:11
【问题描述】:

我想要一个像下面这样的公式字段

If Count(Employees.Trainings, Employees.EmployeeID)>=1 Then
   Employees.EmployeeID
Else
   Null

我的目标是计算这个公式,以便知道有多少员工完成了至少一项培训。 显然,这在 Crystal Reports 中是不可能的。 有解决方法吗? 我希望我的报告看起来像这样:

Department   Employees  Sum(days)  Employees who have at least one training
Department A      25       120                                        20 
Department B      12       34                                         10 

我错过了最后一栏。 我的报告按部门和员工 ID 分组。谢谢!

【问题讨论】:

  • 问题不太清楚..你能展示一下设计的样子和你想要的样子吗
  • 您好,很抱歉回复晚了。我编辑了我的问题。
  • 好的理解了这个问题......现在的问题是你想显示完成超过 1 次培训的员工 ID 是你想只显示那些有超过一次培训的记录......因为根据您的示例,您似乎只是在显示培训次数
  • 不,我不需要显示任何 ID 或姓名。只有计数。

标签: crystal-reports


【解决方案1】:

最好是创建帮助查询来计算一些聚合并在 CR 中链接此查询。

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

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

【讨论】:

  • 感谢您的回答。我是水晶报告的菜鸟,所以我确实尝试使用子报告并了解员工完成了多少培训。但我不知道如何计算人员如何接受更多的培训并将其显示为员工组上方(部门组)的组标题上的计数。我也确实尝试过添加一个命令(我想这就是你所说的“帮助查询来计算一些聚合”的意思)我目前正在这样做。
  • “帮助查询”是指在数据库中查看 - 不是 Crystal 数据库命令。
【解决方案2】:

我建议的最好和最简单的方法是扩展您已经完成的工作。

因为您已经按DepartmentEmployee 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

这只会显示那些培训超过 1 的员工,其余的都将被禁止。

试着告诉我

【讨论】:

  • 嗨!感谢您的回答,对于迟到的回复感到抱歉。您的解决方案(如果我理解并做对了所有事情)显示了接受过培训>=1 的员工的姓名。但是我不需要这些名字。我只需要知道他们有多少。如果这对我的报告有帮助,我还会在员工组级别的“计数”汇总字段中获得他们完成的培训数量。除了部门组之外,有没有办法再次计算这个汇总字段?跨度>
  • 有一种方法,但不幸的是我今天是休息日,所以我无法访问水晶报告,但明天我将在办公室测试并发布解决方案。
  • 别担心!这是众多项目中的一个。但是我想补充一点,我确实设法使用“初始化-计数-重置”公式字段/方法来计算员工组中接受超过 1 次培训的员工人数。有没有办法将此计数“移动”到上面的组(“部门”)?
  • 部门上方的意思是在部门标题中?
  • 精确,whish 是第一组。
猜你喜欢
  • 2012-01-27
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多