如何在Crystal Report上获得员工的出勤记录

时间:2011-09-25 15:27:13

标签: crystal-reports

我的表格包含以下文件:

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和Absents或Sick Leaves。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

在员工ID上插入一个组,然后在AttendanceDate上插入一个组(确保选择月份作为句点),然后在状态上插入一个。选择AttendanceId字段,然后选择Insert Summary并选择Count。

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

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

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