2014-01-17 32 views
0

我必须根据存储广播邮件邮件历史记录的表创建报表。每次发送邮件时,都会为每个收件人的邮件表格输入一行 - Mailings.ID,Mailings.CODE,Mailings.DATE和Mailings.DELIVERED。邮件可以发送或未发送(T/F)。Crystal Reports:在子报表中选择top N?

我需要报告才能显示其先前五次邮件(基于Mailings.DATE)全部未送达(Mailings.DELIVERED = 0)的ID。

无法确定如何进行分组/排序。图I必须由Mailings.ID开始分组 - 然后按每个组内的邮件日期降序排序。然后,根据前5个Mailings.DELIVERED的值显示/取消组的某种条件格式。

回答

0

首先你应该按日期做一组,然后一组用ID,那么你将在你的ID组头创建下面的公式来初始化计数器变量

WhilePrintingRecords; 
      Global numberVar record; 
      record:=0; 

然后将在您的详细信息这个其他公式

WhilePrintingRecords; 
     global numbervar record; 
     record:=(record+1); 
     record; 

此公式将帮助您计算详细记录以抑制您的详细信息。 然后在您的详细信息部分专家,你会把以下 邮件.DELIVERED <> 0或记录> 5(这将抑制邮件发送时或当您有超过5条记录时,您的详细信息部分)

相关问题