水晶报表-无法过滤自定义公式编号字段

时间:2019-04-08 09:43:11

标签: crystal-reports

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

我正在创建一个Crystal报表,团队负责人应该去查看该报表,以查看其员工在多少次上报告了病假。记录只能显示该人在过去12个月中是否报告过6次或更多次生病。

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

我的最后一个问题是,我只想显示该期间内至少有6次此类交易的记录。我创建了一个名为@Antal的公式字段(瑞典语中为“金额”),该字段简单地计算了我要显示的薪资交易的“开始”日期中的不同日期数(由于法律变更2019年1月1日,我们需要创建一种新的交易类型,因此在2019年之后的某些情况下,可能会有两次交易涉及一次病假,因此我是在计算这段时间的第一天),DistinctCount ({P_LSTAT.P_SXXX06})

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

  

此公式无法使用,因为必须稍后对其进行评估

还有其他(更好)的方法吗?还是我只是想丢东西?

2 个答案:

答案 0 :(得分:0)

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

在将公式字段打印到放置的报表部分之前,没有计算公式字段的值的过程。在打印报告的任何部分之前都会对Select Expert进行评估,因此此时所有“公式字段”实际上都为空。

答案 1 :(得分:0)

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