Crystal reports crystal报表中的条件计数()

Crystal reports crystal报表中的条件计数(),crystal-reports,where,conditional-statements,Crystal Reports,Where,Conditional Statements,如何使用crystalreport中的公式字段获取结果 用于计算fieldname=xxx的记录数 类似:从tbl中选择count(*)作为cnt,其中f1=xxx 并通过crystal report count()函数的示例进行详细说明 项目:VB.Net 当做 Sensa.您基本上创建了一个公式字段,如: if {mytable.field} = 'xxx' then {mytable.field}; 然后计数({formula}) 或者将运行总计与评估公式一起使用:{mytable.f

如何使用crystalreport中的公式字段获取结果 用于计算fieldname=xxx的记录数

类似:从tbl中选择count(*)作为cnt,其中f1=xxx

并通过crystal report count()函数的示例进行详细说明

项目:VB.Net 当做
Sensa.

您基本上创建了一个公式字段,如:

if {mytable.field} = 'xxx' then
 {mytable.field};
然后
计数({formula})


或者将运行总计与评估公式一起使用:
{mytable.field}='xxx'

有几种备选方案,每种方案都有某些缺点

1) 使用“选择专家”有条件地限制报告中的记录。 这种情况的主要缺点当然是可能与报告其他部分相关的数据丢失

2) 解决方案1)使用集成在主报告中的子报告。 本例中的问题是格式化约束

3) 使用分组。即,按mytable.field分组在记录上使用运行总计 使用组并插入到组标题。通过部门专家有选择地隐藏小组。 这里再次出现了附加格式约束的问题

4) 最后,如果您有权访问实际数据库。创建一个视图,这将是crystal reports中性能和格式问题的最佳解决方案。 但是,每次出现此类问题时创建视图可能会导致数据库中的视图被污染,这些视图只会被不经常使用。

您可以尝试以下方法:

公式1:

if {anytable.yourfield} = 'xxx' then 1 Else 0;
然后:

公式2:

sum({formula1});
CSTR (sum({formula1}),0);
对于整数:

公式2:

sum({formula1});
CSTR (sum({formula1}),0);

你好,李·蒂克特,谢谢你的回复,但这不是直接的回答。我喜欢将crystal report count()函数与条件一起使用。我将其调整为使用count()。但之前的答案可能更好。我相当肯定crystal中没有
countif
函数。