PowerBI自然左外部联接问题,右表中的行已删除

时间:2019-06-14 00:52:07

标签: left-join powerbi dax

我有两个桌子。

1)表1:1带有日期值的列
2)表2:2列:日期列+商业价值列

我试图在PowerBI中使用DAX通过左外部联接创建新表,以填充第二个表中的缺失日期。

第一张桌子:

| Date       |  
| 2015-05-01 |
| 2015-06-01 |
| 2015-07-01 |       
| 2015-08-01 |      

第二张表:

| Date       | Value    | 
| -----------|--------- |
| 2015-05-01 |        5 |    
| 2015-05-01 |        5 |    
| 2015-06-01 |        6 |    
| 2015-07-01 |        7 |     

DAX代码以创建新表:

Table = 
var table4=
SELECTCOLUMNS(Table1, "Date", Table1[Date]&"")
var table5=
SELECTCOLUMNS(Table2,"value", Table2[value],"Date", Table2[Date]&"")
return
NATURALLEFTOUTERJOIN(table4,table5)

这正在返回:

| Date       | Value    | 
| -----------|--------- |
| 2015-05-01 |        5 |    
| 2015-06-01 |        6 |    
| 2015-07-01 |        7 |    
| 2015-08-01 |        NA|     

但是我想要

| Date       | Value    | 
| -----------|--------- |
| 2015-05-01 |        5 |    
| 2015-05-01 |        5 |    
| 2015-06-01 |        6 |    
| 2015-07-01 |        7 |    
| 2015-08-01 |       NA |    

我不确定为什么要删除第二个值

| 2015-05-01      5|

我需要将可能的月份的两个值保留在表中。 有任何想法吗 ?非常感谢

1 个答案:

答案 0 :(得分:-1)

据证明:https://docs.microsoft.com/en-us/dax/naturalinnerjoin-function-dax

它在自然列上连接匹配两者的行,然后添加额外的列。

您需要问自己为什么在数据中需要此行,因为当模型正确时,Power-Bi将为您完成工作。在您的情况下,您会为每个不存在值的日期额外产生一行,是否需要?

我创建了您的用例并建立了正确的模型: enter image description here

接下来,我创建了一个包含日期和值的表,并在日期上进行了选择:选择没有日期的值:

enter image description here

这就是您想要显示数据的方式。.我对同一日期的值进行了汇总。.