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



我有三个维度表和一个事实表Sales

  • DimCalendar(字段年/月/日/周)
  • DimCountry (Field: CountryName)
  • DimManager (Field ManagerName)
  • FctSales(字段:金额)

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

经过研究,我正在考虑的功能,除了,像:

计算(总和(销售(Amt)); ALLExcept(销售;国家(国家),日历(年)…)

但如果我这样做,我将不得不写表日历和表国家的每一列除了,我想知道是否有另一种解决方案。

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

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

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

使用用于关系的列作为过滤器,保证用于过滤的任何列都将映射到关系上。

然后,REMOVEFILTERS()将删除任何现有的上下文过滤器,最终在第一步中评估的过滤器参数将被应用,放回在DimCalendarDimCountry上设置的任何过滤。

最新更新