首页 > 解决方案 > 水晶报表按浮动时间分组数据

问题描述

例如,我有结构如下所示的 SQL 表。RASP_DATE表示火车出发的时间,RACE_HOURS表示火车以小时为单位行驶的路程。

RASP_DATE                  RACE_HOURS
01.10.2020 15:05:00        4
01.10.2020 15:35:00        3
01.10.2020 16:10:00        8
01.10.2020 16:25:00        6

我需要根据这些数据开发一份报告,以计算每小时的总旅行时间。例如,根据上面的示例,报告将显示从 15:00 到 16:00 的总行程时间为 7 小时,从 16:00 到 17:00 - 14 小时。使用 Crystal Reports 中的组可以轻松完成此任务。然而,任务是不同的——我需要计算一个“跑步”小时的旅行小时数。用户输入参数“分钟”(例如15),它是5的倍数,现在“小时”应该不是从15:00到16:00计算,而是从15:15到16:15 ,从 17:15 到 18:15 等。最有可能的是,为此更改分组是必要的,但我不知道确切的公式或如何执行此操作。请给我一个提示。

标签: sqlcrystal-reports

解决方案


我现在无法测试它,但试试下面的东西。请注意,如果 RASP_DATE 可以包含秒,则可能会调整公式。

  1. 创建一个名为“小时”的公式

    小时({TableName.RASP_DATE})

  2. 创建一个名为“分数”的公式

    minute({TableName.RASP_DATE}) \ {?minutes} //运算符是整数除法

  3. 按“小时”公式创建组

  4. 按“分数”公式创建组

  5. 在组中放置一个汇总字段以汇总 RACE_HOURS。

我认为这为获得完整解决方案提供了方向。


推荐阅读