【问题标题】:Calculate datediff between max date in one table and dates in another tables in weeks计算一个表中的最大日期和另一个表中的日期之间的日期差异(以周为单位)
【发布时间】:2022-02-21 19:41:31
【问题描述】:

我是 Power Bi 和 dax 的新手,我想计算一个表中的最大日期和另一个表中的日期之间的日期差异(以周为单位)。

我试过了

DATEDIFF(TableA[Dates],MAX(TableB[Dates]),WEEK)

如果我理解正确,那么 datediff 只计算两个日期之间的差异,而不是一列。

有人知道怎么做吗?我也很想知道这如何与 M-Language 一起使用。

【问题讨论】:

  • 尝试使用度量:=DATEDIFF( MIN( TableA[Dates] ), MAX( TableB[Dates] ), WEEK ),当将它与 TableA 中的日期一起放入视觉对象时,应该可以满足您的需求。这假设 TableA 和 TableB 之间没有活动关系。
  • 不会计算行明智的日期差异吗?我想针对一列计算一个值。
  • 它将TableA[Dates] 中的每个条目与TableB[Dates] 中的最大值进行比较。这似乎正是您最初的陈述所要求的。
  • 感谢乔斯的帮助。我在问题中发布的代码确实有效。不知道我之前哪里出错了。您的代码会生成一个具有相同值的列(最大日期 - 最小日期,以周为单位)。分钟不是我想要的。
  • 也许您使用的是Calculated Column 而不是我的Measure

标签: powerbi dax datediff m


【解决方案1】:

您的问题是 DAX 应该如何知道您比较了哪两个日期。假设你想使用矩阵视觉,你想把 TabA 日期放在它的行上,把 TabB 日期放在它的列上。然后您可以为该视觉对象的值创建一个度量:

Measure = DATEDIFF( MAX( TableA[Date] ), MAX( TableB[Date]), WEEK )

或者,您可以在 DAX 中构建一个包含两个日期的表。为此使用 CROSSJOIN 和 VALUES 函数。然后使用上述度量添加计算列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多