点击此处---> 群内免费提供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关闭
在此先感谢您的帮助。
您需要使用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'超出范围).. >
谢谢
一周热门 更多>