Crystal reports 选择最近6次就诊是否发生在30天内

Crystal reports 选择最近6次就诊是否发生在30天内,crystal-reports,Crystal Reports,使用Crystal 2013,我的报告按客户id分组。详细信息是客户访问的时间(datetime)。我已经知道如何检测至少6次访问,但我想检查这6次访问是否在30天内发生 我想显示客户的所有访问,但我只想显示符合标准的组。我是否需要在打印记录时执行,以在每组的第一个和第六个记录之间执行日期差异?我该怎么做 以下是我所拥有的: 30 >= DateDiff ("DD", (if {Command.ROW} = 1 then {Command.Visit_START}, (if {Comm

使用Crystal 2013,我的报告按
客户id
分组。详细信息是客户访问的时间(
datetime
)。我已经知道如何检测至少6次访问,但我想检查这6次访问是否在30天内发生

我想显示客户的所有访问,但我只想显示符合标准的组。我是否需要在打印记录时执行
,以在每组的第一个和第六个记录之间执行
日期差异
?我该怎么做

以下是我所拥有的:

30 >= DateDiff ("DD", (if {Command.ROW} = 1 then {Command.Visit_START},
  (if {Command.ROW} = 6 then{Command.Visit_STOP}))

您能按降序对组进行排序吗?我有一个想法,但如果将它们从最新到最老进行分组,对你来说就不那么有用了

阅读记录时:

在每组中,您需要确定第一次和第六次就诊。(您当前正在禁止任何小于6的组。)为此,我将创建一个名为
Counter
的共享变量,该变量将每个记录递增1,并在每次到达新组时重置。(在组标题中将其设置为零。)

接下来,您将需要另外两个名为
FirstDate
SixthDate
的共享变量。如果
计数器
分别等于1或6,则用日期值填充。就像
计数器一样,每次组更改时,您都会重置这些计数器

打印记录时:

如果一切正常,您现在应该拥有计算所需的两个日期值。在当前抑制公式中添加一个附加子句:

....
AND
DateDiff("d", FirstDate, SixthDate)

您能按降序对组进行排序吗?我有一个想法,但如果将它们从最新到最老进行分组,对你来说就不那么有用了

阅读记录时:

在每组中,您需要确定第一次和第六次就诊。(您当前正在禁止任何小于6的组。)为此,我将创建一个名为
Counter
的共享变量,该变量将每个记录递增1,并在每次到达新组时重置。(在组标题中将其设置为零。)

接下来,您将需要另外两个名为
FirstDate
SixthDate
的共享变量。如果
计数器
分别等于1或6,则用日期值填充。就像
计数器一样,每次组更改时,您都会重置这些计数器

打印记录时:

如果一切正常,您现在应该拥有计算所需的两个日期值。在当前抑制公式中添加一个附加子句:

....
AND
DateDiff("d", FirstDate, SixthDate)

您编写的公式是否符合要求的标准。。。如果是的话,那么把这个写在小组的最上面。如果有任何错误,那么这就是你所写的公式,它符合要求的标准。。。如果是,请将此写在小组的上级,如果有任何错误,请发布。如果您不能按降序排序,请告诉我,我可以修改答案以说明问题。如果您不能按降序排序,请告诉我,我可以修改答案以说明问题。