我的表格包含以下文件:
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。
答案 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}
考虑阅读有关该主题的书或参加课程。