【问题标题】:How to get Employee's Attendance History on Crystal Report如何在水晶报表上获取员工的考勤记录
【发布时间】:2011-09-25 15:27:13
【问题描述】:

我有以下文件的表格:

AttendanceID             bigint
EmployeeID           bigint
AttendanceDate           datetime
FiscalMonthID            int
TimeIn                     datetime
TimeOut          datetime
TimeIn1          datetime
TimeOut1             datetime
HoursWorked          decimal(18, 2)
LateHours            decimal(18, 2)
Status                     nvarchar(10) ('Present', 'Absent', 'Holiday', 'Sick Leave')
Remarks          nvarchar(250)

现在我想为每个员工的考勤历史生成一个水晶报告...它将显示特定日期或月份的“出席”、“缺席”、“病假”总数。

即我如何才能在一个月内获得一名员工的总 Presnets 和缺勤或病假。

【问题讨论】:

  • 有人给了你一个-1并且懒得给你留言。我不知道为什么,因为你的问题是有效的,所以我用自己的 +1 取消了它。

标签: crystal-reports


【解决方案1】:

您可以使用存储过程将数据提供给报告。它将 EmployeeID 和月份(或日期范围)作为输入,并可能返回 AttendanceDate 和 Status;您可能对 AttendanceDate、HoursWorked 和 Status 更感兴趣,具体取决于实际数据的样子。

然后,您可以通过对返回数据使用 GROUP BY 语句或通过在 Crystal Report 中对数据本身进行分组来对日期的返回值进行分组。

【讨论】:

    【解决方案2】:

    在 Employee ID 上插入一个组,然后在 AttendanceDate 上插入一个组(确保选择月份作为期间),然后在 Status 上插入一个。选择 AttendanceId 字段,然后选择 Insert Summary 并选择 Count。

    如果要按日期过滤报告,请添加日期参数(将 Range 选项设置为 true),然后创建类似于以下内容的记录选择公式:

    //change values to reflect your situation
    {table.AttendanceDate} IN {?data-range parameter}
    

    考虑阅读有关该主题的书籍或参加课程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多