我有一个员工数据库表,其中包含每个员工上班或休息的时间。该表包含员工每次登录或注销的记录,如下所示:
名称:日期|类型:日期:日期|日期
约翰·西尔( john sil )|美国国家航空航天局( ClockIN )主席|2020年10月11日上午9:00
约翰·西尔( john sil )|《突破世界》杂志|2020年10月11日12:00 PM
约翰·西尔:| BreakOut |2012.10-11/2020 12:30 PM
约翰·西尔( john sil )|钟表会(ClockOut)|2020年10月11日下午5:00
我希望将这些记录分组在一行中,以使所有记录都显示在一行中,而不是四行。如下所示:
姓名|日期| ClockIn | BreakIn |
约翰·西尔|2020年10月11日|上午9:00 |下午12:00 |下午12:30|下午5:00
任何帮助都将不胜感激。提前谢谢。
发布于 2020-12-18 07:51:03
针对这类数据,建立了SSRS矩阵。
将矩阵添加到报表中。
在分组窗口中,转到组属性。将分组添加到不带时间的“行”和“分组日期”。按日期表达式排序。
=Format(Fields!Date.Value, "yyyy-MM-dd")"这将合并一天内的所有记录。
使用日期字段作为单元格值,并使用'mm/DD/yyyy‘作为日期文本框的格式属性。
右键单击组并添加RowGroup -> Parent Group。
按员工分组并按员工排序。使用文本框值的名称。这将按员工划分日期。
单击Group窗口中的Group列,然后转到Group Properties。按类型分组。
转到排序选项卡。添加排序依据
=IIF(Fields!Type.Value = "ClockIN", 1, 2)
这将使打卡时间最先出现。
然后通过Fields!Type.Value添加第二个级别。按名称排序将适用于其他类型。列分组将按不同的冲头对每日数据进行分解。
https://stackoverflow.com/questions/65346963
复制相似问题