【问题标题】:power BI Taking MIN and Max date by comparing two tablespower BI 通过比较两个表来获取 MIN 和 Max 日期
【发布时间】:2019-07-08 10:53:09
【问题描述】:

我有三个表,即 Allitems、InItems 和 OutItems。主表是 Allitems,它与具有 IN_OUT_ID 的其他两个表相关。 我已经能够根据每个

的 ID 计算最小和最大日期

数据集

使用以下 DAX 公式的表格

对于 InItems 表

Min_Start_Date = CALCULATE( MIN(InItems[InDate]), ALLEXCEPT( InItems, InItems[IN_ID] ))
Max_end_Date =  CALCULATE( MAX(InItems[InDate]), ALLEXCEPT( InItems, InItems[IN_ID] ))

对于 OutItems 表

Min_Start_Date = CALCULATE( MIN(OutItems[OutDate]), ALLEXCEPT( OutItems, OutItems[OUT_ID]))
Max_end_Date = CALCULATE( MAX(OutItems[OutDate]), ALLEXCEPT( OutItems, OutItems[OUT_ID] ))

我的关系改变了双向流动的方向

我试图通过比较 OutItems 和 Allitems 中的最小和最大日期来恢复最小和最大日期,并将其用作 Allitems 表中的列。例如取 IN_ID 1,最小日期为 08/01/2019。我还将采用 OUT_ID 的最小日期,即 2019 年 3 月 2 日。然后我想要这两个日期之间的最小日期,即 08/01/2019。 任何人都可以帮助我如何实现这一目标

预期结果

我愿意接受任何问题,谢谢

【问题讨论】:

    标签: report powerbi dax powerquery powerbi-desktop


    【解决方案1】:

    为此,您不需要关系来过滤两种方式,也不需要这四个计算列。只需取最小值/最大值的最小值/最大值:

    Mindate =
    MIN (
        CALCULATE ( MIN ( InItems[InDate] ) ),
        CALCULATE ( MIN ( OutItems[OutDate] ) )
    )
    

    Maxdate =
    MAX (
        CALCULATE ( MAX ( InItems[InDate] ) ),
        CALCULATE ( MAX ( OutItems[OutDate] ) )
    )
    

    请注意,此处的 CALCULATE 执行上下文转换,在将最小/最大值应用于其他表时,应用行上下文(当前行中的 IN_OUT_IDItem 值)作为过滤器上下文。如果删除它,您将获得所有 ID 值的最小值/最大值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多