因此,我想比较Crystal Reports中的一些记录,以解决我们系统中的一个bug导致的问题。
所以每隔一段时间,我们的系统就会向某人收费两次。我想要找到所有这些订单/发货。一个订单可以有多个发货(如果我们有一个延交的商品,我们在一个发货中发货其余的订单,然后在另一个发货中发货延交的商品)。发货还有一个charge_date
字段,它是我们向客户收费时的日期和时间戳。因此,如果我们将其分组到Crystal reports中,它将如下所示:
Order Id: 234587
Shipment Id: 121 charge_date: 8/29/2012 11:43:21
Shipment Id: 524 charge_date: 9/1/2012 15:37:39
发货是按数字顺序创建的。因此,如果我们发出一批货物,比如说装运编号: 345,那么我们发出的下一批货物,无论它是哪个订单的一部分,都将是装运编号: 346。
因此,当某人是我们的bug的受害者时,他们的发货是紧随其后的,并且他们的charge_date
是完全相同的。如下所示:
Order Id: 69875
Shipment Id: 594 charge_date: 9/2/2012 14:32:15
Shipment Id: 595 charge_date: 9/2/2012 14:32:15
我可以创建一个刚刚发货及其收费日期的列表(不按订单Id分组),并按升序对它们进行排序。但我想要做的是遍历发货列表,将每一次发货与前一次发货进行比较,看看charge_date
是否相等,如果它们相等,则选择它们或标记它们,这样我就可以通过公式对它们进行分组并处理它们。
在Crystal中这是可能的吗?我应该使用不同的程序吗?我意识到这可能不是最好的方法,所以我对建议持开放态度。提前感谢!
发布于 2012-09-05 00:59:50
您是否可以为orderID和chargeDate创建组,然后取消所有发货详细信息,除非计数(ShipmentID)> 1?
您将在chargeDate组页脚中显示发货详细信息。
发布于 2012-09-05 05:42:57
使用Previous
函数:
// {@Is Error}
If Previous({table.chargeDate})={table.chargeDate}) Then
true
Else
false
在此公式中插入一个组。
我不能测试这个,因为我不在我的工作电脑前。
https://stackoverflow.com/questions/12267703
复制相似问题