请参考以下我使用的示例数据:
ID Name Status Dept.
1 Austin Pending MES
2 Roy Devilered DHA
3 Steven Terminated DHA
4 Peter Pending MES
5 Sanjay Pending MES
6 Domnic Terminated LA
7 Leon Devilered MES
8 Sanal Devilered LA
9 Kevin Terminated LA
10 Binoy Pending DHA
表名称是Employee。
我添加了两个措施:
Count_1 =
CALCULATE(COUNT('Employee'[ID]),
'Employee'[Dept.]="LA",
'Employee'[Status]="Terminated")
Count_2 =
CALCULATE(COUNT('Employee'[ID]),
FILTER('Employee','Employee'[Dept.]="LA"),
FILTER('Employee','Employee'[Status]="Terminated"))
没有任何报告层过滤器,这两个度量均返回值2。但是,当我在(Delivered,Pending)中为Status添加报告层过滤器时,计数更改为
Count_1
给 2
Count_2
给 blank
filter
,filter(all)
,filter(allexcept)
,filter(allselected)
两种方法的区别在于,第一种方法将忽略现有的过滤器上下文(已在报表中设置),而第二种方法将保留现有的过滤器上下文。
在报表的(已交付,待处理)中添加状态过滤器时,过滤器上下文中将保留以下记录:
ID Name Status Dept.
1 Austin Pending MES
2 Roy Delivered DHA
4 Peter Pending MES
5 Sanjay Pending MES
7 Leon Delivered MES
8 Sanal Delivered LA
10 Binoy Pending DHA
*我已将“ Devilered”值更改为“ Delivered”。
您的第一个度量(Count_1)将忽略此过滤器上下文,因此返回以下数据集中的[ID]的计数:
ID Name Status Dept.
6 Domnic Terminated LA
9 Kevin Terminated LA
您的第二个度量(Count_2)将保留现有的过滤器上下文,然后将应用其他过滤器。由于没有记录满足这两个筛选器,因此该度量将返回空白值。
因为您的第一个度量会忽略现有的过滤器上下文,所以您可以有效地重写以下内容:
Count_1 =
CALCULATE(COUNT('Employee'[ID]),
'Employee'[Dept.]="LA",
'Employee'[Status]="Terminated")
对此:
Count_1 =
CALCULATE(
COUNT('Employee'[ID]),
ALL('Employee'),
FILTER(
'Employee',
'Employee'[Dept.]="LA"
&& 'Employee'[Status]="Terminated")
)
并最终得到相同的结果。我认为这可以更清楚地揭示您的第一个措施的行为方式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句