【问题标题】:Crystal Reports 2011: Calculate the number of times a value occures and the number of days in betweenCrystal Reports 2011:计算一个值出现的次数和中间的天数
【发布时间】:2016-06-08 16:07:38
【问题描述】:

我突然想到,我可能已经找到了答案,但到目前为止我还不够。另外,我对 Crystal Reports (2011) 还很陌生,所以如果我错过了这些,请原谅我的无知。问题来了:

我有一份报告,我在其中提取特定目标的值发生次数,特别是在指定日期范围内特定程序发生的次数。我有按人分组的结果。

我显示该组中的人员、程序代码和程序发生的日期。

我现在需要做的是弄清楚如何返回某种类型的视觉指示器,表明每个人的每个程序之间至少有 3 天.. 示例..

[组 #1 名称].......[PROC_CODE].... ..[PROC_DATE]

[{Last_Name}, {First_Name}].....PROCEDURE..........PROCEDURE DATE

(请原谅我试图分隔标题和结果的“.....”)

说了这么多,如果组中的下一个结果(按人)在上一个日期后 3 天或更短的时间内出现,我想以红色显示“程序日期”。我真的希望这对某人有意义。提前感谢您的帮助!

【问题讨论】:

    标签: crystal-reports datediff


    【解决方案1】:

    创建一个名为“DateDiff”的公式:DateDiff("d", {Proc_Date}, previous({Proc_Date}))

    然后在您的部门专家中,选择您的数据所在的组。单击颜色选项卡。选择“x-2”公式按钮并输入:if {@DateDiff} > 3 then crred else crnocolor

    编辑,这样你的下一个组就不会选择最后一个值:

    if ({group1_field} = previous({group1_field})) then
     if {@DateDiff} > 3 then crred else crnocolor
    else
    crnocolor
    

    【讨论】:

    • 我在尝试创建第二个公式时遇到错误,指出无法使用该公式,因为必须稍后对其进行评估。这让我觉得是因为它基于参数字段? (日期字段)?
    • 没关系,它完全有效。你是个天才!!谢谢!
    • 很高兴能为您提供帮助!
    • 毕竟,这几乎是完美的!我有一个问题,希望您能(再次)提供帮助……因此,根据分组和日期,它确实有效。但是...如果下一组的第一个日期早于上一组的最后一个日期,则第一个日期将显示为红色。有没有办法让第一个返回值忽略前一组的最后一个返回值?我很想附上屏幕截图,但在添加评论时我看不到在哪里可以做到这一点。
    • 试试我编辑的答案。{group1_field} 是您在第 1 组中分组的任何字段。
    猜你喜欢
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多