如何找到两个给定日期之间的天数

2020-09-03 06:45发布

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

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


您好,大师

我需要计算两个给定日期(开始日期和结束日期)之间的天数。 我知道Daysbetween函数会做到这一点。 但是问题是,当我们发现需要考虑假期的差异时。

例如 1月14日是星期五,这是我的开始日期,他于1月17日(结束日期)即星期一完成工作,所以14至17之间的三天,但这在业务方面是不正确的,因为我需要忽略2月1日至11月1日之间的假期 这两个日期,因此这两个日期之间的天数是1而不是3。

任何想法!

谢谢

-B-

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

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


您好,大师

我需要计算两个给定日期(开始日期和结束日期)之间的天数。 我知道Daysbetween函数会做到这一点。 但是问题是,当我们发现需要考虑假期的差异时。

例如 1月14日是星期五,这是我的开始日期,他于1月17日(结束日期)即星期一完成工作,所以14至17之间的三天,但这在业务方面是不正确的,因为我需要忽略2月1日至11月1日之间的假期 这两个日期,因此这两个日期之间的天数是1而不是3。

任何想法!

谢谢

-B-

付费偷看设置
发送
10条回答
ZJXianG
1楼-- · 2020-09-03 07:28

尝试以下选项。

//找出天数的差,减去周末

NumberVar DaysDiff:= DateDiff(" d",StartDate,EndDate)-

DateDiff(" ww",StartDate,EndDate,crsaturday)-

DateDiff(" ww",StartDate,EndDate,crsunday);

小熊yu生菜
2楼-- · 2020-09-03 07:16

感谢您的答复,Jayasree,我需要在WEBI级别进行计算。 数据库中没有提示

感谢阿吉安人。

黑丝骑士
3楼-- · 2020-09-03 07:24

嗨,

尝试一下,

创建一个变量并在公式编辑器中编写公式thow函数

DaysBetween(date first_date; date

最后日期)

示例

如果[销售日期]是2001年12月15日而[发票日期]是2001年12月17日,则DaysBetween([销售日期]; [发票日期])返回2。

祝一切顺利

Praveen

jovirus
4楼-- · 2020-09-03 07:11

非常感谢您的回复,

我认为我没有正确解释我的问题。 因此,让我再次详细解释。

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-

spaceman01
5楼-- · 2020-09-03 07:16

您如何知道假期是什么?

如果您有假期标记,则可以使用DaysBetween(...) (Holiday Flag = 1)键入公式。

如果您无法在报告器中标识假期,则必须查看数据库/Universe解决方案或创建Holiday Flag对象并携带

注意,

Mark

bbpeas
6楼-- · 2020-09-03 07:29

嗨,

您需要先创建一个变量来确定 要具有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

一周热门 更多>