【发布时间】:2014-08-19 22:15:04
【问题描述】:
希望这是有道理的。第一次在这里发帖。
我试图抑制父级的所有实例,而我的参数仅影响子级。我遇到了一个问题,我希望查看所有发货超出日期范围的客户,并且只查看发货超出该日期范围的客户。
使用下面我当前的公式,我将退回该日期范围之外的货件,但他们也可能有货件。
例如
{customer.arcustname} ={?Customer}
AND
{jobshipment.ccdate} <> {?DateRange}
日期范围 = 2014 年 7 月 1 日至 2014 年 7 月 31 日
CUST1's最后一次发货是在6/25/2014,这条记录返回true
CUST2在7/25/2014有货,这条记录返回false
CUST2 也是6/25/2014 上的货件,此记录返回 true 并显示在我的报告中。 -不想要
我希望我的报告只显示CUST1,因为CUST2 的货物在该范围内,但我的报告显示CUST1 和CUST2,因为它只过滤{jobshipment.ccdate} 而不是整个{customer.arcustname}。
任何帮助将不胜感激。谢谢!
编辑:在我的详细信息中,我只有 {customer.arcustname}。我只希望我的报告显示在指定时间段内未订购的客户列表(由销售人员提示)。我看到的所有答案都只显示不在该范围内的货物,我只想查看在日期范围内没有货物的客户。如果他们有货物,我希望我的报告中省略 {customer.arcustname}。
这里是原始 SQL:SELECT customer."armasterid",customer."arcustname",
salesperson."arsalesname",jobshipment."ccdate"
FROM ( ( "public".customer customer LEFT OUTER JOIN "public".salesperson
salesperson ON customer.arsalesid=salesperson.arsalesid ) LEFT
OUTER JOIN "public".job job ON customer.armasterid=job.armasterid )
LEFT OUTER JOIN "public".jobshipment jobshipment ON
job.ccmasterid=jobshipment.ccmasterid
WHERE ((#NUMBER CONSTANT# = customer."arsalesid")) AND ((NOT (
(customer."araccountstatus" = 'I') )))
ORDER BY customer."arcustname"
【问题讨论】:
-
您确定要这个吗?看起来您更像是在询问没有在给定范围内发货的客户。如果客户(实际上是潜在客户)还没有任何 货物,无论范围如何,这都会有所不同。也就是说,无论您如何处理,这在 Crystal Reports 中都是相当困难的,并且涉及从服务器中提取大量不需要的数据。您是否需要直接从 Crystal Reports 访问数据库?如果您可以重新处理您的报告以呈现来自您的应用程序的数据集,那就简单多了。
-
我对 Crystal 还很陌生,这可能不是完成我想要实现的目标的最有效方式。我真正想要的是创建一个销售工具来显示在特定时间范围内没有发货(订单)的客户。 (例如过去 30 天)。
标签: sql filter crystal-reports range suppress