【问题标题】:How to filter value by exact date in dax?如何在dax中按确切日期过滤值?
【发布时间】:2021-09-19 16:03:50
【问题描述】:

我已经为此苦苦挣扎了一段时间。我想在dax中写这样的东西。 所以本质上,如果日期早于 2020-02-25,我想获得价值(用作乘数)。

var multiplier = IF ( 'D_Date'[date] > Date(2020; 2; 25); 7,5; 7,6)
return DIVIDE (
    CALCULATE ( [Paid hours (h)]; 'D_Company'[CompanyKey] <> 4 );
    CALCULATE ( SUM ( 'D_Date'[workDayFlag] ) * multiplier ) * 1;
    0
)

衡量带薪小时数 (h) 与日期表有关。 if 语句不起作用(找不到名称 'date',它存在于 powerbi/SSAS 和数据库中),但我还没有找到任何其他解决方案。

我觉得这应该是一件容易的事,我很惊讶我的 if 语句不起作用。

【问题讨论】:

  • 尝试使用 MAX('D_Date'[date]) 而不是 'D_Date'[date]

标签: powerbi dax ssas


【解决方案1】:

由于它是一种度量,因此您不能通过这种方式在 if 语句中直接使用日期列。 试试下面的代码。

var multiplier = IF ( Max('D_Date'[date]) > Date(2020; 2; 25); 7,5; 7,6)

【讨论】:

  • 但是,如果我根据支付时间的人(例如 2020 年 2 月 20 日和 2020 年 2 月 28 日)进行汇总,这将不起作用。因此我总是使用 7,5 乘数。我开始觉得我无法实现此功能,因为我不想为此创建计算列。
  • 如果您可以提供一些示例数据以及有关您现在得到什么以及预期输出的信息,那么我们为您提供帮助会更有帮助。
猜你喜欢
  • 2021-08-30
  • 1970-01-01
  • 2018-04-18
  • 2016-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-29
相关资源
最近更新 更多