Sql 如果在一个范围内包含1批装运,则抑制整个客户

Sql 如果在一个范围内包含1批装运,则抑制整个客户,sql,filter,crystal-reports,range,suppress,Sql,Filter,Crystal Reports,Range,Suppress,希望这是有道理的。第一个帖子在这里 我试图抑制父对象的所有实例,而我的参数只影响子对象。我遇到了一个问题,我希望看到所有发货超出日期范围的客户,而只有发货超出该范围的客户 根据我目前的公式,我会将超出该日期范围的货物退回给客户,但他们也有可能在该日期范围内有货物 前 日期范围=2014年7月1日至2014年7月31日 CUST1的最后一次装运是在2014年6月25日,此记录返回真值 CUST2于2014年7月25日发货,此记录返回false CUST2也是2014年6月25日装运的,此记录返回t

希望这是有道理的。第一个帖子在这里

我试图抑制父对象的所有实例,而我的参数只影响子对象。我遇到了一个问题,我希望看到所有发货超出日期范围的客户,而只有发货超出该范围的客户

根据我目前的公式,我会将超出该日期范围的货物退回给客户,但他们也有可能在该日期范围内有货物

日期范围=2014年7月1日至2014年7月31日

CUST1的最后一次装运是在2014年6月25日,此记录返回真值

CUST2于2014年7月25日发货,此记录返回false

CUST2也是2014年6月25日装运的,此记录返回true并显示在我的报告中-不需要

我希望我的报告只显示CUST1,因为CUST2的装运在该范围内,但我的报告显示CUST1和CUST2,因为它只过滤{jobshipment.ccdate},而不是整个{customer.arcustname}

任何帮助都将不胜感激。谢谢

编辑:在我的详细信息中,我只有{customer.arcustname}。我只想让我的报告显示一个由销售人员提示的客户列表,这些客户在指定的时间段内没有订购。我看到的所有答案都只显示了不在范围内的发货,我只想看到没有在日期范围内发货的客户。如果他们有一批货,我希望从我的报告中省略{customer.arcustname}

以下是原始SQL: 选择customer.armasterid、customer.arcustname、, salesperson.arsalesname,jobshipment.ccdate 从public.customer离开外部加入public.salesson customer.arsaleId上的salesperson=salesperson.arsaleId左侧 外部加入customer.armasterid=job.armasterid上的public.job作业 左外部联接public.jobShipping JobShipping打开 job.ccmasterid=jobshipment.ccmasterid 其中数字常量=customer.arsalesid,而不是 customer.araccountstatus='I' 按客户订购。arcustname

创建一个公式@count来计算不在范围内的日期的发生次数

if {jobshipment.ccdate} <> {?DateRange}
then 0
else 1
2.现在创建一个名为{@countSummary}的摘要字段,我们从中获取@count的总和。将其放在组页脚中

3.在集团页眉客户组、详细信息和集团页脚客户组的SUPPRESS部分写入以下SUPPRESS条件

    EvaluateAfter({@count});


 if ({@countSummary}) <> 0
then true
else false

你真的想要这个吗?这似乎更像是你在要求那些没有在给定范围内发货的客户。如果某个客户的潜在客户真的没有任何发货,无论发货范围如何,这将产生影响。也就是说,无论您如何处理,这在Crystal Reports中都是相当困难的,需要从服务器中提取大量不需要的数据。您是否需要直接从Crystal Reports访问数据库?如果您可以重新编写报表,以显示应用程序中的数据集,那么就简单多了。我对Crystal还比较陌生,这可能不是实现我希望实现的目标的最有效的方法。我真正想要的是创建一个销售工具,显示在特定时间范围内没有发货订单的客户。例如,最近30天。别忘了删除{jobshipment.ccdate}上现有的记录选择公式。我已经按照您提到的方式配置了所有内容,没有得到任何结果。复制您的抑制公式会产生未找到DatabaseField类型的字段CustomerGroup。我在回答中给出的公式只是为了解释。。。。因为我不知道你的数据库结构。。请将公式中的字段替换为步骤2中的相关字段,以获取@count的摘要。我应该使用哪个摘要函数?汇总?转到字段..右键单击,然后使用插入汇总。。。。在这种情况下,使用sunition选项作为sum
if {jobshipment.ccdate} <> {?DateRange}
then 0
else 1
    EvaluateAfter({@count});


 if ({@countSummary}) <> 0
then true
else false