我在Crystal Reports XI中有一个交叉表,其显示字符串显示每次满足条件时的计数:
基本上我有一个总结列数量,我需要与avblcredit进行比较,并计算每个订单,其中amountpent(摘要)超过每个组,客户的avblcredit。然后,我必须显示超出可用信用额度的该客户的总订单量。
经过多次努力,因为我不能在Crystal Xi中使用计算成员。一世 为项目exditures创建了第二个重复摘要,并编辑了第二个摘要的显示字符串,将其自身与avbl credit进行比较,然后计算:
global numbervar count;
if currentvalue > avblcredit
then count := count + 1;
count;
然后计数在它找到当前值(项目总和)的任何地方递增>可用信用额度。
如果交叉表在页面上完全打印,则此方法可正常工作,但如果交叉表扩展到下一页,则计数将重置为0。
所以基本上作为示例页面1看起来如下:
customer 1
orders avblcredit amountspent count itema itemb itemc
ord1 4000 6000 1 2000 3000 1000
ord2 3734 5001 2 1000 2000 2001
ord3 4123 5000 3 4000 1000 0
ord4 2321 5000 4 5000 0 0
ord5 4000 5003 5 1200 3800 3
ord6 4000 6000 6 1000 2000 3000
第2页,客户1小组继续:
orders avblcredit amountspent count itema itemb itemc
ord7 4000 6000 1 2000 3000 1000
ord8 3734 5001 2 1000 2000 2001
ord9 4123 5000 3 4000 1000 0
ord10 2321 5000 4 5000 0 0
我的问题是如何在每个新页面上重置计数?
由于
答案 0 :(得分:0)
如果您可以修改数据源,则可以在上游进行计算。只需使用名为 spentExceedsCredit 的新字段扩展现有数据集,其值为0或1.然后,您可以按客户对它们求和,或在报表中使用自定义格式,或者拥有客户列表支出超过一页,或者其他什么,而且你不依赖于Crystal的全局变量。