【问题标题】:Crystal reports - Can't filter on custom formula number field水晶报表 - 无法过滤自定义公式编号字段
【发布时间】:2019-04-08 09:43:10
【问题描述】:

Crystal 报告不允许我使用自定义计数公式字段来过滤要在经理报告中显示的交易。

我正在创建一份 Crystal 报告,应该让团队领导拿出来查看他们的员工在多少场合报告了病假。记录应该只显示该人在过去 12 个月内是否报告了 6 次或更多的病假。

报告显示属于经理组织单位的每个员工的记录(一页)。在员工信息下方是一个子报表,我在其中显示来自工资/时间系统的交易。使用选择专家,我过滤掉了应该显示的交易。然后,我创建了一个数据库字段,计算从今天起 12 个月前的哪一天,并进行过滤,以便仅显示该期间内的交易。

我的最后一个问题是我只想显示在此期间至少有 6 次此类交易的记录。我创建了一个名为 @Antal 的公式字段(瑞典语中的“金额”),它只计算我显示的工资交易的“开始”日期中的不同日期数量(自 2019 年 1 月 1 日法律变更以来,我们需要创建一个新的交易类型,所以2019年之后的一些场合可能有两个交易涉及一个病假,所以我计算的是期间的第一天),DistinctCount ({P_LSTAT.P_SXXX06})

现在,子报表有一个包含 Antal(金额)的新列,用于计算所需工资交易的金额。然后我尝试使用选择公式仅显示 {@Antal} >= 6 的记录,但出现以下错误:

这个公式不能用,因为它必须稍后计算

还有其他(更好的)方法可以做到这一点,还是我只是错过了什么?

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    对于基于 {@Antal} >= 6 的选择,您需要使用组选择公式,而不是记录选择公式。记录选择用于在读入数据之前选择符合条件的记录。在读入记录并计算摘要之后,组选择用于根据汇总值过滤掉整组记录 - 这听起来正是您需要的。

    【讨论】:

      【解决方案2】:

      评估选择专家时,公式字段的值超出范围。

      在将公式字段打印到放置它的报表部分之前,没有计算公式字段值的过程。选择专家在打印报告的任何部分之前进行评估,因此此时所有公式字段实际上都是空的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多