首页 文章

在Crystal Reports上求和计算常量 - CR不提供“SUM”选项和手动“Sum”生成错误

提问于
浏览
0

我有一份水晶报告,要求报告工资单中包含的组件(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返回“此字段无法汇总”警告 .

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

Crystal Report Sum of a Group Summary

我需要在所写公式的组页脚中包含一个摘要 . 任何帮助将不胜感激 .

1 回答

  • 1

    试试这个:

    创建公式 Initialize 并放在报表 Headers 中

    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
    

相关问题