PowerBI 查询不适用于日期过滤器

PowerBI query doesn't work with date filter

我有这个 DAX:

Earned Daily =
VAR d = SELECTEDVALUE ( 'P6 Update'[Date] )
RETURN
IF (
    'Data for Pivot'[Date] <= d
        && 'Data for Pivot'[Act Rem] = "Actual Units"
        && 'Data for Pivot'[Type] = "Current",
    'Data for Pivot'[Value],
    0
)

'P6 Update'[Date] 附加到切片器(单个 select 日期下拉列表)。

我看到日期设置正确,但是当我尝试使用日期进行过滤时它不起作用。

如果我这样做:

Earned Daily =
IF (
    'Data for Pivot'[Date] <= DATE ( 2018, 4, 19 )
        && 'Data for Pivot'[Act Rem] = "Actual Units"
        && 'Data for Pivot'[Type] = "Current",
    'Data for Pivot'[Value],
    0
)

数据过滤正确。

原代码有什么问题?

#######

注意:P6 更新 table 是使用以下代码创建的:

P6 Update = CALENDAR(MIN('Data for Pivot'[Date]), MAX('Data for Pivot'[Date]))

您的 DAX 公式似乎是计算列而不是度量。由于计算列仅在每次加载 table 时计算一次,因此它们无法响应切片器或任何类型的动态过滤。

解决方案是编写一个度量来生成您想要的值。它看起来像这样:

Earned Daily =
VAR d = SELECTEDVALUE ( 'P6 Update'[Date] )
RETURN
CALCULATE (
    SUM ( 'Data for Pivot'[Value] ),
    'Data for Pivot'[Date] <= d,
    'Data for Pivot'[Act Rem] = "Actual Units",
    'Data for Pivot'[Type] = "Current"
)

您可能需要根据尝试使用此度量的上下文进行调整,但这是基本方法。

根据@Alexis Olson 的回答,我整理了这个完全符合我要求的答案:

Earned Daily = 
VAR d = SELECTEDVALUE ( 'P6 Update'[Date] )
RETURN
CALCULATE (
    SUM('Data for Pivot'[Value] ),
    FILTER(ALLSELECTED('Data for Pivot'),'Data for Pivot'[Date]=MAX('Data for Pivot'[Date])),
    'Data for Pivot'[Date] <= d,
    'Data for Pivot'[Act Rem] = "Actual Units",
    'Data for Pivot'[Type] = "Current"
)

Added FILTER which makes it match Date by Date until 'P6 Update'[Date] is reached.