如何在交叉表中按部门报告加班

2020-09-08 03:08发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个加班报告,该报告根据每周...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个加班报告,该报告根据每周40小时计算加班时间,并按部门总计加班。 但是,我需要在报告页脚的交叉表中按部门显示总计。 我无法使用加班公式,因为它是根据WhilePrintingRecords计算得出的,并且不可用。 我该怎么做?

这是我目前拥有的。

我对记录进行排序:
1。 年
2。 月
3。 周结束日期
4。 部门
5。 员工姓名

我使用的公式:

1。 @hoursforPDBAHrly =不是PTO,陪审义务等的小时数。
2.#RTHoursWorked = @hoursforPDBAHrly在EmployeeName
3上重置。 OTperWeek =如果{#RTHoursWorked}> 40,则{#RTHoursWorked}-40
4 .. OT BY Dept = numbervar ot; ot:= ot + {@OTperWeek}
5。 resetOT = WhilePrintingRecords; 如果{DeptName} <>上一个{DeptName},则numbervar ot:= 0;
我将重设放在部门4的组头中

除了我无法在报表末尾的交叉表中按部显示总OT之外,此方法有效。 如何调整报告,以便可以在交叉表中按部门显示加班总数。 我想在列中显示年和月,在行中显示部门。

非常感谢!

2条回答
宇峰Kouji
2020-09-08 03:41

没有一种简单的方法可以使用每日级别的数据来执行此操作-看来您正在执行此操作。

这是我可能尝试的方法:

1。 在报表页脚中创建一个子报表。

2。 对于子报表的数据,请使用命令(SQL select语句)求和每个员工每周的小时数。 在查询中包括交叉表所需的所有其他数据。

3。 创建一个类似于以下的加班公式(HoursWorked是一周的总小时数):

如果{Command.HoursWorked}> 40,然后{Command.HoursWorked}-40否则0 

4。 在交叉表中,列是星期几,行是部门,请使用上方的{@OverTime}公式。

如果您不熟悉Commands,请参见此博客以获取更多信息。 如果您对自己的SQL技能不满意,请告诉我,我可能会帮助您。

-Dell

一周热门 更多>