我有三个表,分别是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的最小日期为03/02/2019。然后我想要这两个日期之间的最小日期是08/01/2019。 任何人都可以帮助我实现这一目标
预期结果
我愿意回答任何问题
答案 0 :(得分:2)
为此,您不需要使用关系来同时过滤这两种方式,也不需要这四个计算出的列。只需取最小值/最大值中的最小值/最大值:
Mindate =
MIN (
CALCULATE ( MIN ( InItems[InDate] ) ),
CALCULATE ( MIN ( OutItems[OutDate] ) )
)
和
Maxdate =
MAX (
CALCULATE ( MAX ( InItems[InDate] ) ),
CALCULATE ( MAX ( OutItems[OutDate] ) )
)
请注意,这里的CALCULATE
执行上下文转换,当采用最小/最大值时,将行上下文(当前行中的IN_OUT_ID
和Item
值)用作过滤器上下文在其他表格上。如果将其删除,则会获得所有ID值的最小值/最大值。