在 Dax 中求和并忽略除两个 table 字段以外的所有过滤器的提示?

Tips to sum values and ignore all filter but the fields of two table in Dax?

我有 3 个维度 table 和一个事实 Table 销售额

我想创建一个度量来计算销售额 (FctSales) 的总和并仅过滤到 tables DimCalendar 和 DimCountry 的字段。

经过研究,我正在考虑函数 AllExcept,例如:

CALCULATE(SUM(Sales[Amt]);ALLExcept(Sales;Country[Country];Calendar[Year]...)

但如果我这样做,我将不得不在 AllExcept 中写入 table 日历和 Table 国家/地区的每一列,我想知道是否还有其他解决方案。

也许使用 REMOVEFILTERS() 删除每个过滤器,然后将过滤器放回 DimCountryDimCalendar 可能有用吗?

CALCULATE (
    SUM ( Sales[Amt] );
    REMOVEFILTERS ();
    VALUES( DimCountry[CountryName] );
    VALUES( DimCalendar[Date] )
)

DimCalendar[Date] 应该是用于与 Sales 的关系的列。 此度量首先评估当前过滤器上下文中的过滤器参数。

将用于关系的列用作过滤器可确保无论用于过滤的列如何映射到关系上。

然后,REMOVEFILTERS() 将删除任何现有的上下文过滤器,最终将应用在第一步中评估的过滤器参数,放回在 DimCalendar 和 [=12 上设置的任何过滤=].