在我的 Power BI 模型中,我有一个事实表 (factSales),它通过代理键 DateId 链接到日期维度 (dimDate)。现在我想添加一个度量来获取每个客户的最大发票日期。但它应该是忽略上下文的最大日期(对于日期过滤器)。 (因此,如果我过滤 2020 年第一季度的所有销售额,那么我仍然需要最大发票日期,例如 2021 年)。
这就是我让它工作的方式:
在 factSales 中添加新列:
Invoice Date = RELATED(DimDate[Date])
在 factSales 中添加新的度量:
Last Contract =
CALCULATE( MAX(FactSales[Invoice Date]),
ALL( DimDate )
)
这行得通,但有没有更好的方法来做到这一点?没有额外的计算列。 (并且不使用双向过滤)。
答案 0 :(得分:0)
您可以使用以下 dax 公式创建返回 max date
的度量:
Measure = MAX(Sheet1[Date])
要始终显示不按切片器过滤的最新日期,您需要点击 slicer
,然后转到 Format >Edit Interaction >click none on the specific visual
。在以下情况下,即使切片器的最新日期是 8 Nov 21
Sep 21
答案 1 :(得分:0)
您可以在 CALCULATE 中使用 CROSSFILTER:
Last Contract =
CALCULATE (
MAX ( Dates[Date] ),
REMOVEFILTERS ( DimDate ),
CROSSFILTER ( Sales[Date], Dates[Date], BOTH )
)
答案 2 :(得分:0)
试试这个:
Last Contract =
CALCULATE ( MAX ( DimDate[Date] ), ALL ( DimDate ), FactSales )
这通过仍将 DimDate[Date]
用作过滤器表来移除 FactSales
上的切片器的过滤。