如何计算Crystal Reports中公式字段的总和?

时间:2010-08-25 21:23:25

标签: crystal-reports

在某些继承的代码中,我看到组页眉/页脚包含'Sum of @numcount'等项目。我无法得到公式字段的总和。有什么想法吗?

4 个答案:

答案 0 :(得分:7)

我知道为什么公式无法概括的唯一原因是它是否没有引用任何数据库字段,或者它的值在报告的各个部分都不是动态的。例如,如果您有一个返回常量的公式,则该公式将不可用。或者,如果它仅引用在整个报表中设置的字段并返回基于该字段的值,例如“if {parameter} = 1则1”也将不可用。

一般来说,公式的值不应该是你要总结的报告部分的静态值(尽管Crystal决定这种方式超出了我的范围,这似乎不是一个硬性规定)

编辑:公式不可用的另一个原因是,您是否已在该公式中使用汇总函数。一次只有一个级别的摘要!

答案 1 :(得分:5)

(假设您正在查看Crystal Report Designer中的报告...)

您的菜单选项可能会略有不同,具体取决于您使用的Crystal Reports版本,但您可以:

  • 创建摘要字段:右键单击详细信息部分中的所需公式字段,然后选择“插入摘要”。从下拉框中选择“总和”,并验证是否选择了正确的帐户分组,然后单击“确定”。然后,您将在组页脚部分中有一个简单的求和字段。
  • 创建一个总计字段:点击“插入”菜单,然后选择“运行总字段...”***单击“新建”按钮,为新的运行总计字段命名。选择“要汇总的字段”下的公式字段,然后在“摘要类型”下选择“总和”。在这里你也可以改变评估和重置总数的时间,如果你想在每条记录上得到一笔金额,请将它们保留为默认值。您还可以使用公式来确定何时应在总计中计算某个字段。 (评估:使用公式)

答案 2 :(得分:1)

您可以简单地右键单击公式字段 - >新 给它一个像TotalCount这样的名字然后对这段代码:

if(isnull(sum(count({YOURCOLUMN})))) then
0
else
(sum(count({YOURCOLUMN})))

然后保存然后在页眉/页脚中拖放 TotalCount 此字段。 打开"计数"您可以从上一部分中删除列。请参阅图片enter image description here

中的示例

答案 3 :(得分:0)

您可以尝试这样:

Sum({Tablename.Columnname})

无需在公式中创建汇总字段即可使用。