【问题标题】:Power BI calculate Measure for previous working dayPower BI 计算上一个工作日的度量
【发布时间】:2020-03-23 07:57:34
【问题描述】:

在 Power BI 中,我需要编写一个度量,它返回昨天的销售额。我可以在周二到周五使用 PREVIOUSDAY()。但是,对于星期一,我想返回星期五的销售额。我知道我可以用 DATEADD(Calendar[Dates], -3, DAX) 做到这一点。

我的问题是我似乎无法让这两个条件一起工作。甚至有可能用一个措施来做这样的事情吗?:

Yesterdays Sales = 
   Var TueToFri = CALCULATE([Sales Amount], PREVIOUSDAY(Calendar[Date])
   Var Mon = CALCULATE([Sales Amount], DATEADD(Calendar[Date], -3, DAY)

   IF WEEKDAY(Calendar[Date]) = 1
      Return Mon,
   Return TueToFri

如果没有,您还有其他想法吗?

干杯

【问题讨论】:

    标签: powerbi ssas dax business-intelligence


    【解决方案1】:

    这个解决方案对我有用:

        Sales Amount PD = 
    IF (
        WEEKDAY ( SELECTEDVALUE ( Calendar[Date] ) ) = 2;
        //Monday
        CALCULATE (
            [Sales Amount];
            DATEADD ( Calendar[Date]; -3; DAY )
        );
        IF (
            WEEKDAY ( SELECTEDVALUE ( Calendar[Date] ) ) = 1;
            //Sunday;
            BLANK ();
            IF (
                WEEKDAY ( SELECTEDVALUE ( Calendar[Date] ) ) = 7;
                //Saturday;
                BLANK ();
                CALCULATE (
                    [Sales Amount];
                    PREVIOUSDAY ( Calendar[Date] )
                )
            )
        )
    )
    

    我认为问题是由于日历表返回多个值造成的。通过使用 SELECTEDVALUE() 仅返回一个日期,可用于进行所需的比较。

    【讨论】:

      【解决方案2】:

      我还没有测试过,但这应该可以:

      Yesterday Sales =
      VAR Mon = CALCULATE([Sales Amount], DATEADD(Calendar[Date], -3, DAY)
      VAR TueToFri = CALCULATE([Sales Amount], PREVIOUSDAY(Calendar[Date])
      VAR SatSun = BLANK()
      
      RETURN
      IF(
        WEEKDAY(SELECTEDVALUE(Calendar[Date]), 2) = 1;
        Mon;
        IF(
          WEEKDAY(SELECTEDVALUE(Calendar[Date]), 2) >= 6;
          SatSun;
          TueToFri
        )
      )
      

      【讨论】:

      • 您好,感谢您的回答!我遇到了同样的问题: IF(WEEKDAY()) 部分不允许我选择我的日历表。我相信会发生这种情况,因为我的日历表会返回多个日期。但是,与此同时,我设法修复了它(请参阅答案)。再次感谢
      • 我编辑了我的解决方案以包含 Calendar[Date] 的聚合函数
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多