在 Crystal 报告上对计算出的常数求和 - CR 不提供 "SUM" 选项和手动 "Sum" 生成错误

Sum a calculated constant on Crystal Reports - CR does not provide "SUM" Option and Manual "Sum" Generates error

我有一份 crystal 报告,需要报告工资单中包含的组成部分 (RUB_0),特别是基本工资和养老金缴款。

某些员工一个月内可能有不止一张工资单 (BUL_0),因此由于我们正在工作,因此只需报告每位员工的最新(最大)工资单(BUL_0)包含月初至今的数据。

我的数据如下:

BUL_0       DAT_0                   RUB_0       AMT_0
1700000018  2017-01-31 00:00:00.000 SALACT_MTD  20000.000000000000
1700000019  2017-01-31 00:00:00.000 SALACT_MTD  40000.000000000000

我构建了以下公式,可以在报告的详细信息部分正确报告最新(最大)工资单。

IF ({HISTOPAYE.RUB_0} = "SALACT_MTD") AND {HISTOPAYE.TYP_0} = 6 AND {HISTOPAYE.BUL_0} = Maximum({HISTOPAYE.BUL_0}, {HISTOPAYE.EMP_0})
THEN {HISTOPAYE.AMT_0}
ELSE 0

根据下图显示在我的报告中是正确的(在详细级别上)

Current Crystal Output

更新了下图:

Updated Crystal Output

当我尝试为其中一个公式字段添加摘要时,"SUM" 选项不可用,实际的报告字段也不可用。尝试手动对值求和时,crystal returns "This field cannot be summarized" 警告。

我发现出现此警告的原因是因为我上面的公式正在创建一个无法求和的常量。我已尝试将字段转换为不同的数据类型,并尝试设置多个公式以按照以下文章重置值,但是 - 它没有解决我的特定问题。

Crystal Report Sum of a Group Summary

我需要在编写的公式的组页脚中添加摘要。任何帮助将不胜感激。

试试这个:

创建公式 Initialize 并放入报表 header

Shared Numbervar counter;
counter:=0;

像下面这样更改您现有的公式:

    Shared Numbervar counter;
    Local Numbervar display;

    IF ({HISTOPAYE.RUB_0} = "SALACT_MTD") AND {HISTOPAYE.TYP_0} = 6 AND {HISTOPAYE.BUL_0} = Maximum({HISTOPAYE.BUL_0}, {HISTOPAYE.EMP_0})
    THEN display:={HISTOPAYE.AMT_0}
    ELSE 0;

counter:=counter+display;
display

现在在组页脚中创建以下公式

Shared Numbervar counter;
counter;                  //This will give the final output sum of all values