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

表名是员工。

我添加了两个措施:

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。但是,当我添加一个报告层过滤器(已交付,待处理(时,计数会更改为

Count_1给出2

Count_2给出blank

  • 如果有人可以解释过滤器如何详细影响结果
  • 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

*我已将"贬低的"值更改为"已交付"。

您的第一个度量(count_1(将忽略此过滤器上下文,因此在以下数据集中返回[id] s的计数:

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")
)

最终得到相同的结果。我认为这更清楚地暴露了您的第一个措施的有效行为。

相关内容

  • 没有找到相关文章

最新更新