2020-09-03 06:45发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,大师
我需要计算两个给定日期(开始日期和结束日期)之间的天数。 我知道Daysbetween函数会做到这一点。 但是问题是,当我们发现需要考虑假期的差异时。
例如 1月14日是星期五,这是我的开始日期,他于1月17日(结束日期)即星期一完成工作,所以14至17之间的三天,但这在业务方面是不正确的,因为我需要忽略2月1日至11月1日之间的假期 这两个日期,因此这两个日期之间的天数是1而不是3。
任何想法!
谢谢
-B-
嗨
尝试以下选项。
//找出天数的差,减去周末
NumberVar DaysDiff:= DateDiff(" d",StartDate,EndDate)-
DateDiff(" ww",StartDate,EndDate,crsaturday)-
DateDiff(" ww",StartDate,EndDate,crsunday);
感谢您的答复,Jayasree,我需要在WEBI级别进行计算。 数据库中没有提示
感谢阿吉安人。
嗨,
尝试一下,
创建一个变量并在公式编辑器中编写公式thow函数
DaysBetween(date first_date; date
最后日期)
示例
如果[销售日期]是2001年12月15日而[发票日期]是2001年12月17日,则DaysBetween([销售日期]; [发票日期])返回2。
祝一切顺利
Praveen
非常感谢您的回复,
我认为我没有正确解释我的问题。 因此,让我再次详细解释。
Emp Id来自employee表,工作位置来自工作位置表,开始日期和结束时间来自其他两个表,完整日期和Is work day字段来自日历表。 现在,如果需要在假期之间进行任何假期,我需要查找开始日期和结束日期之间的工作天数,我需要将这些天数排除在外。 并且我的企业想根据天数来了解一个地点工作了多少EE,下面是我的示例报告模型。 这里的问题是如何将公式放在单元格中,因为在最终报告中,我只需要显示最终计数,而不是详细信息
在我的Universe中,日历表与基于EMPid的工作地点表结合在一起。
我的报告应显示为以下格式
员工工作地点:印度
<= 1天3天5天
工作了多少EE 1 1 0
员工工作地点:美国
有多少EE工作0 1 0
使用假期标记,我可以找到两个给定日期之间的工作日数,如果我将Empid,员工工作地点,开始日期,结束日期(日历表)和工作日对象放置在块中,则此方法可以正常工作 ,但我的企业需要在一段时间内在每个位置工作多少个EE,例如只有一天工作的EE,多少天工作2天的EE。 所以我根据EE工作位置创建了该部分,并创建了该块,并像在行多少EE中工作一样静态地提到了它,并在列中进行了划分,例如<= 1天3天,依此类推...等等。所以我 必须找到= Count(EMp Id where(Days)<= 1),将其放置在块的第一列中,以了解仅一天中在该位置工作了多少EE。 这是我遇到的问题,我相信我必须输入正确的计算上下文才能做到这一点。
我希望现在我已经更清楚地解释了我的问题。
任何想法和建议都可以解决这个问题。
非常感谢
您如何知道假期是什么?
如果您有假期标记,则可以使用DaysBetween(...) (Holiday Flag = 1)键入公式。
如果您无法在报告器中标识假期,则必须查看数据库/Universe解决方案或创建Holiday Flag对象并携带
注意,
Mark
您需要先创建一个变量来确定 要具有4个工作日的天数。
使用以下公式创建变量"要添加的Nb天":
=(如果DayName(RelativeDate([Value Date ]; 1))InList(" Saturday";" Sunday")然后2其他1)+
(如果DayName(RelativeDate([Value Date]; 2))InList(" Saturday";" Sunday ")然后2其他1)+
(如果DayName(RelativeDate([Value Date]; 3))InList(" Saturday";" Sunday")然后2其他1)+
然后使用以下命令创建变量" NewDate" ng公式:
= RelativeDate([Value Date]; [Nb Days to add])
Didier
最多设置5个标签!
嗨
尝试以下选项。
//找出天数的差,减去周末
NumberVar DaysDiff:= DateDiff(" d",StartDate,EndDate)-
DateDiff(" ww",StartDate,EndDate,crsaturday)-
DateDiff(" ww",StartDate,EndDate,crsunday);
感谢您的答复,Jayasree,我需要在WEBI级别进行计算。 数据库中没有提示
感谢阿吉安人。
嗨,
尝试一下,
创建一个变量并在公式编辑器中编写公式thow函数
DaysBetween(date first_date; date
最后日期)
示例
如果[销售日期]是2001年12月15日而[发票日期]是2001年12月17日,则DaysBetween([销售日期]; [发票日期])返回2。
祝一切顺利
Praveen
非常感谢您的回复,
我认为我没有正确解释我的问题。 因此,让我再次详细解释。
Emp Id来自employee表,工作位置来自工作位置表,开始日期和结束时间来自其他两个表,完整日期和Is work day字段来自日历表。 现在,如果需要在假期之间进行任何假期,我需要查找开始日期和结束日期之间的工作天数,我需要将这些天数排除在外。 并且我的企业想根据天数来了解一个地点工作了多少EE,下面是我的示例报告模型。 这里的问题是如何将公式放在单元格中,因为在最终报告中,我只需要显示最终计数,而不是详细信息
在我的Universe中,日历表与基于EMPid的工作地点表结合在一起。
我的报告应显示为以下格式
员工工作地点:印度
<= 1天3天5天
工作了多少EE 1 1 0
员工工作地点:美国
<= 1天3天5天
有多少EE工作0 1 0
使用假期标记,我可以找到两个给定日期之间的工作日数,如果我将Empid,员工工作地点,开始日期,结束日期(日历表)和工作日对象放置在块中,则此方法可以正常工作 ,但我的企业需要在一段时间内在每个位置工作多少个EE,例如只有一天工作的EE,多少天工作2天的EE。 所以我根据EE工作位置创建了该部分,并创建了该块,并像在行多少EE中工作一样静态地提到了它,并在列中进行了划分,例如<= 1天3天,依此类推...等等。所以我 必须找到= Count(EMp Id where(Days)<= 1),将其放置在块的第一列中,以了解仅一天中在该位置工作了多少EE。 这是我遇到的问题,我相信我必须输入正确的计算上下文才能做到这一点。
我希望现在我已经更清楚地解释了我的问题。
任何想法和建议都可以解决这个问题。
非常感谢
-B-
您如何知道假期是什么?
如果您有假期标记,则可以使用DaysBetween(...) (Holiday Flag = 1)键入公式。
如果您无法在报告器中标识假期,则必须查看数据库/Universe解决方案或创建Holiday Flag对象并携带
注意,
Mark
嗨,
您需要先创建一个变量来确定 要具有4个工作日的天数。
使用以下公式创建变量"要添加的Nb天":
=(如果DayName(RelativeDate([Value Date ]; 1))InList(" Saturday";" Sunday")然后2其他1)+
(如果DayName(RelativeDate([Value Date]; 2))InList(" Saturday";" Sunday ")然后2其他1)+
(如果DayName(RelativeDate([Value Date]; 3))InList(" Saturday";" Sunday")然后2其他1)+
< p>(如果DayName(RelativeDate([Value Date]; 4))InList(" Saturday";" Sunday")然后2其他1)然后使用以下命令创建变量" NewDate" ng公式:
= RelativeDate([Value Date]; [Nb Days to add])
Didier
一周热门 更多>