如何忽略表格模型中的关系

How to ignore a relationship in a tabular model

我有一个无法解释的问题。考虑以下 DAX 指标:

Actual Spend :=
CALCULATE (
    SUM ( 'Finance Actuals'[Amount] ),
    FILTER (
        ALLSELECTED ( 'Finance Period' ),
        'Finance Period'[Fiscal_Date_Key] <= MAX ( 'Finance Period'[Fiscal_Date_Key] )
    ),
    FILTER (
        'Finance Actuals',
        'Finance Actuals'[Calculated_Date_Key]
            <= MAX ( 'Finance Forecasting Period'[Calculated_Date_Key] )
    ),
    ALL ( 'Finance Calculated Data Snapshot Date' )
)

'Finance Actuals'和'Finance Calculated Data Snapshot Date'之间有关系。出于此措施的目的,我想忽略该关系并使用在不同 table ('Finance Forecasting Period').

中选择的预定义日期

一切正常,但该措施仍受到 'Finance Calculated Data Snapshot Date' 更改的影响。我原以为添加 ALL ( 'Finance Calculated Data Snapshot Date' ) 部分的措施应该会导致对 table 的更改被忽略。

我做错了什么?

CALCULATE 函数将使用 AND 逻辑应用其过滤器。我猜正在发生的事情是 'Finance Actuals' 上的 FILTER 函数内部使用了这种关系,添加 ALL 函数不会改变任何东西。

尝试将 ALL 函数移动到第二个 FILTER 函数中,因为那是需要应用它的地方。

谢谢亚历克西斯。

我不太确定如何将 ALL 添加到定义的第二个过滤器中,因为它们与不同的表相关。但是,根据您的建议,我对措施进行了如下修改:

Actual Spend at Forecasting Period:=CALCULATE (
    SUM ( 'Finance Actuals'[Amount] ),
    FILTER (
        ALLSELECTED ( 'Finance Period' ),
        'Finance Period'[Fiscal_Date_Key] <= MAX ( 'Finance Period'[Fiscal_Date_Key] )
    ),
    FILTER (
        ALL('Finance Calculated Data Snapshot Date'),
        'Finance Calculated Data Snapshot Date'[Calculated_Date_Key]
            <= MAX ( 'Finance Forecasting Period'[Calculated_Date_Key] )
    )
)

此方法有效并达到了我希望的结果,感谢您的建议。但是,我仍然很好奇你用

特别建议的是什么

Try moving the ALL function inside your second FILTER function since that's where it needs to be applied.