Power BI-在计算功能中使用过滤器

乔伊

请参考以下我使用的示例数据:

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_12

Count_2blank

  • 如果有人可以详细解释过滤器如何影响结果,那将非常有帮助
  • 之间的区别filterfilter(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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章