计算同一列中两个不同日期的时间

2020-09-26 18:13发布

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

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


专家您好,

我知道使用DATEDIFF函数计算天数的公式,但是如果我想从带有条件(从开放到批准)的同一列中计算时间怎么办,我想知道从开放到获得批准状态所花费的时间。 以下是用于计算时间的示例记录。 结果应该是25小时。

ID日期状态

1212 2016年12月12日下午2:30开启

1212 2016/12/12下午04:40审核

1212 12/13/2016 03:30 PM已批准

1212 2016年12月29日下午1:20关闭

在此先感谢您的帮助。

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

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


专家您好,

我知道使用DATEDIFF函数计算天数的公式,但是如果我想从带有条件(从开放到批准)的同一列中计算时间怎么办,我想知道从开放到获得批准状态所花费的时间。 以下是用于计算时间的示例记录。 结果应该是25小时。

ID日期状态

1212 2016年12月12日下午2:30开启

1212 2016/12/12下午04:40审核

1212 12/13/2016 03:30 PM已批准

1212 2016年12月29日下午1:20关闭

在此先感谢您的帮助。

付费偷看设置
发送
3条回答
代楠1984
1楼 · 2020-09-26 18:48.采纳回答

您需要使用Datetime变量

假设您的数据按ID分组,请创建3个公式

@ reset//将其放置在组标题中,可以取消标题

打印记录;

全局datetimevar打开:= datetime(0,0,0,0,0,0);

已批准的全球datetimevar:= datetime(0,0,0,0,0,0);

@ eval//对此进行详细说明,可以取消公式

打印记录;

全局datetimevar打开;

全球datetimevar已批准;

如果Status ='Open',则打开:= datetimefield;

如果状态="已批准",则已批准:= datetimefield;

@ Display//将此放置在组页脚中

打印记录;

全局datetimevar打开;

全球datetimevar已批准;

DateDiff(" mm",打开,已批准)//以分钟为单位返回差异

伊恩

您必须在几分钟内完成操作,然后转换为小时和分钟

更改显示公式并包括以下内容

numberVar小时;
numberVar分钟;

小时:=截断(DateDiff(" n",打开,已批准)/60);

min:= Remainder(DateDiff(" n",打开,已批准,60);

totext(hrs," 00")+":" + totext(min," 00");

嗨伊恩,

感谢您的解决方案,我尝试创建公式并在刷新报表并浏览记录时将它们相应放置(我遇到以下错误)("参数#1'DateDiff'超出范围)..

谢谢

一周热门 更多>