DAX-筛选度量-如何筛选两个度量值,而不是一个?

时间:2019-02-13 14:35:48

标签: powerbi dax powerbi-desktop

我有以下4张桌子:

Customer
Lifts
Reports
Overdue

每个中包含的数据是:

Customer
Customer
A
B
C
D
E
F

Lifts
Lift ID       Lift Ref      Customer
1             Lift1         A
2             Lift2         A
3             Lift3         B         
4             Lift4         C
5             Lift5         D
6             Lift6         E
7             Lift7         E
8             Lift8         F
9             Lift9         F

Reports 
Lift ID       Report Date        Overdue 
1             01/01/19           Yes 
1             15/06/18           No 
1             12/04/18           Yes 
2             15/09/18           Yes 
2             08/12/18           No 
4             01/01/19           Yes 
6             01/02/19           No

Overdue
Overdue
Yes
No
No Report

逾期是断开连接的表-它未连接到任何其他表

这些关系是:

Customer 1<>* Lifts
Lifts  1<>*  Reports

我在“客户”和“过期”报表上有一个切片器-它们都是多选切片器

我在报表画布中添加了一个表格外观。我需要它显示每个电梯的最新报告日期和相关的过期值(在切片器过滤数据之后)-如果没有所选电梯的报告,则返回“无报告”作为过期值并将报告日期保留为空白

如果我从客户切片器中选择了除客户F之外的所有客户,并且从过期切片器中选择了是/否报告,那么我应该在表格视觉中得到以下内容:

Lift ID           Lift Ref           Overdue      Report Date
1                 Lift1              Yes          01/01/19
3                 Lift3              No Report    
4                 Lift4              Yes          01/01/19
5                 Lift5              No Report    
7                 Lift7              No Report    

但是我实际上得到的是:

enter image description here

如果我从客户切片器中选择“客户F”以外的所有客户,并从“过期”切片器中选择“是/否”,那么我应该在表中得到以下内容:

Lift ID           Lift Ref           Overdue      Report Date
1                 Lift1              Yes          01/01/19
2                 Lift2              No           08/12/18    
4                 Lift4              Yes          01/01/19
6                 Lift6              No           01/02/19

但是我实际上得到的是:

enter image description here

以下是我的PBIX文件:

https://1drv.ms/u/s!AuiIgc_S9J5JhbYL_-CFbONVzOLWDA

我可以在此处添加我用于MRepDate和MOverdue的度量,但是不想使这篇文章过长!

希望有人可以帮助我,这使我发疯了!

1 个答案:

答案 0 :(得分:0)

更好的方法是使用SWITCH函数,条件是TRUE()。

在下面的示例中,该开关将通过每个测试,直到命中一个评估为true的值,然后返回该结果。默认情况是可选的

= SWITCH ( TRUE(),
Logical Test 1, result 1,
Logical Test 2, result 2,
Logical Test 3, result 3,
Default Case
)