水晶报告中的条件计数()

时间:2012-03-29 19:32:05

标签: crystal-reports where conditional-statements

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

的记录数

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

并详细解释水晶报告count()函数的示例。

项目:VB.Net 问候, 森萨。

3 个答案:

答案 0 :(得分:6)

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

if {mytable.field} = 'xxx' then
 {mytable.field};

然后count({formula});

或使用评估公式的运行总计:{mytable.field} = 'xxx'

答案 1 :(得分:0)

有几种选择,每种都有某些缺点。

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

2)解决方案1)使用主报告中集成的子报告。 这种情况下的问题是格式化约束

3)使用分组。 I.E. group by mytable.field使用记录上的运行总计 使用组并插入组头。通过部分专家选择性地隐藏组。 这又出现了额外格式约束的问题。

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

答案 2 :(得分:0)

你可以试试这个:

FormulaField1:

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

然后:

FormulaField2:

sum({formula1});

对于整数:

FormulaField2:

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