如何解决POWER BI-如果将一个表的多个列匹配到另一表
我有两个表,分别是Table1和Table2,表1是我的数据,表2是报表。表1和表2包含以下标题“水果列表”,“区域代码”和“销售代码”。在表2中,列A至C与表1列A至c匹配,如果不匹配,则状态为“是”状态为“否”。
我不能在此处使用合并查询选项,因为它会创建很多重复的订单项。 (我有大约322000个订单项的唯一数据库,当我尝试使用合并选项时,它将创建很多重复的订单项。)因此,我正在寻找DAX度量或M语言解决方案选项。
第2行的示例; (在表2中为数据)该项目为123,水果清单为“鳄梨”,区号为“ 3100”,它与我的主数据表1匹配,因此状态为“是”。
第5行的示例; (在表2中的数据中)该项目为126,水果清单为“鳄梨”,区号为“ West”,因此与我的主数据不匹配表1状态为“否”。
“鳄梨”“地区代码”仅属于以下销售代码(EU01,US,UK)。
第19行的示例; 该项目为56,水果清单为“西瓜”,没有区号。请参考上面提到的快照。
匹配标准:两个表中匹配的选择标准是“水果列表”,“区域代码”和“销售代码”。
随信附上该文件供您参考。
https://www.dropbox.com/s/a2a4fqng58c4z59/IF%20MATCH%20ONE%20SHEET%20TO%20ANOTHER%20SHEET.pbix?dl=0 https://www.dropbox.com/s/oebfzind62o68fg/IF%20MATCH.xlsx?dl=0 enter image description here
解决方法
在此表之间创建关系。 首先创建列 在表1中:
JoinCol = COMBINEVALUES(“”,'TABLE1'[区域代码],'TABLE1'[销售代码],'TABLE1'[水果列表])
在TABLE2中:
JoinCol = JoinCol = COMBINEVALUES(“”,'TABLE2'[区域代码],'TABLE2'[销售代码],'TABLE2'[水果列表])
然后,您可以轻松进行任何计算,例如表2:
Output = if(LOOKUPVALUE(TABLE1[JoinCol],TABLE1[JoinCol],TABLE2[JoinCol]) = BLANK(),"NO","YES")
您也可以尝试将UNION与INTERSECT和EXCEPT结合使用:
Table = UNION(
ADDCOLUMNS(INTERSECT(SUMMARIZECOLUMNS(TABLE1[FRUIT LIST],TABLE1[AREA CODE],TABLE1[SALES CODE]),SUMMARIZECOLUMNS(TABLE2[FRUIT LIST],TABLE2[AREA CODE],TABLE2[SALES CODE])),"IF?","YES"),ADDCOLUMNS(EXCEPT(SUMMARIZECOLUMNS(TABLE2[FRUIT LIST],TABLE2[SALES CODE]),SUMMARIZECOLUMNS(TABLE1[FRUIT LIST],TABLE1[SALES CODE])),"NO"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。