首页 > 解决方案 > 按日期分组会产生不正确的结果

问题描述

使用 Crystal 报表 2013(版本 14.1.x)

我创建了一个包含三层分组的报告:员工姓名、工作日期、详细信息 ID。每个组按升序排序。该报告确定报告的员工时间的变化。

员工姓名和列标题位于页眉中。

组页眉和页脚在最终产品中是空白的,但现在包含用于测试的信息。

我的“详细信息”部分显示了工作日期和一堆其他数据。

工作日期组不工作。

将工作日期添加到工作日期组和详细信息 ID 组后,我看到 2021 年 3 月 21 日的工作日期组在详细信息 ID 组中具有一系列工作日期(因此也在详细信息中) .

这个 UI 看起来很简单。是否有一些众所周知的水晶问题,你的大师们已经看过数百次了,而我却错过了?或者一些常见的水晶魔法(比如将日期分组为 yyyy-mm-dd 格式的字符串)来解决这个问题?

我的专家组看起来像...

@EmployeeName - A
    Command.WorkDate - A
        Command.DetailID - A

...输出看起来像...

             Work Date    Type      Hours
Begin Employee:  Joe Smith
  Begin Work Date:  3/21/2021
    Begin DetailID:  Work Date:  3/21/2021
       Was:  3/21/2021    regular    8
       Is:   3/21/2021    vacation   8
    End DetailID:  Work Date:  3/21/2021
    Begin DetailID:  Work Date:  3/21/2021
       Was:  3/21/2021    travel     2
       Is:   3/21/2021    vacation   2
    End DetailID:  Work Date:  3/21/2021
    Begin DetailID:  Work Date:  3/24/2021
       Was:  3/24/2021    overtime   2
       Is:   3/24/2021    regular    2
    End DetailID:  Work Date:  3/24/2021
  End Work Date:  3/21/2021
End Employee

为什么我在 2021 年 3 月 21 日组中只看到 2021 年 3 月 21 日的数据?

标签: crystal-reports

解决方案


对于基于日期字段的组,Crystal Reports 提供了一个附加选项。

This section will be printed:
  for each day.
  for each week.
  for each two weeks.
  for each half month.
  for each month.
  for each quarter.
  for each half year.
  for each year.
  for each second.
  for each minute.
  for each hour.
  for AM/PM.

默认值是for each week. 为了按天分组,选择for each day.


推荐阅读