如何忽略表格模型中的关系
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.
我有一个无法解释的问题。考虑以下 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.