【问题标题】:Finding difference between two dates , excluding non work days查找两个日期之间的差异,不包括非工作日
【发布时间】:2019-06-13 17:26:56
【问题描述】:

需要两个日期之间的结果天数,不包括非工作日。

一些定义

Sales[date1]
Sales[date2]

DeterminesWeekDay = WEEKDAY(Payment[Deposit Date],3) 


Weekend -Weekday = 
SWITCH(TRUE(),
    Sales[DeterminesWeekDay] = 0, "Weekday",
    Sales[DeterminesWeekDay] = 1, "Weekday",
    Sales[DeterminesWeekDay] = 2, "Weekday",
    Sales[DeterminesWeekDay] = 3, "Weekday",
    Sales[DeterminesWeekDay] = 4, "Weekday",
    Sales[DeterminesWeekDay] = 5, "Weekend",
    Sales[DeterminesWeekDay] = 6, "Weekend",
    BLANK()
)

我的 dax 函数卡住了,正在创建新的度量或列。

WorkDaysOnly = 
CALCULATE(DATEDIFF(MIN(Sales[date1]),MIN(Sales[date2]),DAY),
        FILTER(Sales, Sales[Weekend -Weekday] = "Weekday") )

这里我不知道如何选择我的两个日期之间的差异,它仍在计算周末。

例如,date1 = 6/7/2019 和 date2 =6/10/2019,我期望的是一天而不是 3。最好复制我的日期列并删除所有周末日期,如何?

【问题讨论】:

  • 你能贴一张你的数据模型的图片吗?
  • 我已经更新了数据。
  • @RADO 如何复制 date1 列并将我的过滤器添加到其中 (FILTER(Sales, Sales[Weekend -Weekday] = "Weekday") ) 以获得没有周末的 date1 列?跨度>
  • 您有日历表/尺寸吗? IsWeekDay 列的 1 或 0 是表的简单总和,类似于 CALCUATE(SUM(calendartable[IsWeekDay]), FILTER(Calender[Date], Date >= Sales[date1] && Date

标签: powerbi dax


【解决方案1】:

请创建以下度量

No of working days = CALCULATE(SUM('calendar'[isWroking]),DATESBETWEEN('calendar'[Date],Sales[Date 1],Sales[Date 2]))


   isWroking = IF(WEEKDAY('calendar'[Date],2)<=5,1,0)

**注意isWorking应该在日历表中创建

【讨论】:

    猜你喜欢
    • 2012-08-22
    • 2021-06-02
    • 1970-01-01
    • 2018-02-06
    • 2021-03-11
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多