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

9
在一些继承的代码中,我看到组标题/页脚有类似于'Sum of @numcount'的项。我无法获取公式字段的总和。有什么想法吗?

1
当我右击插入总和时,我看不到要汇总的字段中的公式字段。不知何故,我可以在另一台机器上看到它们。对我来说似乎是版本问题。你有什么想法吗? - schar
1
你知道这些报告是在哪个版本的CR中创建的吗?你的机器上使用的是哪个版本? - user65628
1
两者都是11.5.3700.0。我看这样做没有任何作用 :( - schar
1
你能提供你试图总结的公式吗? - Ryan
1
成本 = 物品 * 10我想要得到成本总和。 - schar
您可以使用运行总和字段。 @schar - AliNajafZadeh
4个回答

9
我所知道的导致公式无法汇总的唯一原因是它没有引用任何数据库字段或其值在报告的各个部分中不是动态的。例如,如果您有一个返回常量的公式,则该公式将不可用。或者,如果它仅引用整个报告中设置的字段并基于该字段返回值,例如“if {parameter}=1 then 1”,也将不可用。
通常情况下,公式的值在您要汇总的报告部分中不应为静态值(尽管Crystal如何确定这一点超出了我的理解,这似乎并不是一条硬性规定)。
编辑:另一个导致公式不可用的原因是,如果您已经在该公式中使用汇总函数,则只能一次使用一级汇总!

1
谢谢。我在看为什么它不能列出我的公式。现在我明白了。我移除了常数,它就显示出来了。 - schar
1
+1,我最初没有考虑到这一点,但我也遇到了这种行为。 - user65628

7
<假设您正在Crystal Report Designer中查看报告...>

根据您使用的Crystal Reports版本,您的菜单选项可能略有不同,但您可以选择以下任一方式:

  • 创建汇总字段:在详细信息部分右键单击所需的公式字段,然后选择“插入汇总”。从下拉框中选择“sum”,并验证选择了正确的账户分组,然后单击确定。您将在组页脚部分拥有一个简单的汇总字段。
  • 创建累计总计字段:单击“插入”菜单,然后选择“Running Total Field...”***。单击“新建”按钮,并为您的新累计总计字段命名。在“要汇总的字段”下选择您的公式字段,在“汇总类型”下选择“sum”。在此处,您还可以更改何时评估和重置总计,如果您想在每条记录上进行求和,则将其保留为默认设置。您还可以使用公式来确定应将某个字段计入总计。 (评估:使用公式)

2
当我查看可用的表格和字段以创建总和或累计总数时,我没有看到我创建的任何公式。 - schar

2
您可以简单地右键单击公式字段->新建,给它一个名称,比如TotalCount,然后输入以下代码:
if(isnull(sum(count({YOURCOLUMN})))) then
0
else
(sum(count({YOURCOLUMN})))

保存后,将TotalCount这个字段拖放到页眉/页脚中。 在打开“计数”括号之后,您可以从上面的部分将列拖放到那里。请参考图片中的示例enter image description here


2
你可以尝试这样做:
Sum({Tablename.Columnname})

在公式中不需要创建汇总字段,也可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接