Powerbi 在Power BI中使用多个条件和表创建列

Powerbi 在Power BI中使用多个条件和表创建列,powerbi,Powerbi,我想根据Power BI中的一些其他表为产品列表创建一列表1是我想要调查的产品的完整列表 表1: id product_name 1 xl1 2 xl2 3 s11 4 m11 ... 我想基于另一个表(表2)创建一列city: id product_name city 1 xl1 D 2 xl1 A 3 xl1 A 4 xl1 A 5 xl1

我想根据Power BI中的一些其他表为产品列表创建一列<代码>表1是我想要调查的产品的完整列表

表1

id  product_name 
1   xl1
2   xl2
3   s11
4   m11
...
我想基于另一个表(表2)创建一列
city

id  product_name   city
1   xl1            D
2   xl1            A 
3   xl1            A 
4   xl1            A 
5   xl1            A 
6   s11            B
7   s11            B
8   s11            B
9   m11            C
如果
表1
中的
产品名称
也在
表2
中找到,则查找
城市
,如果只有一个值,则用该值填充新列,如果有两个值,则写“两者”,如果
表2
中找不到
产品名称
,则写“无值”

预期产出:

id  product_name  new_col
1   xl1           both   (because city =D,A in table2)
2   xl2           no value
3   s11           B
4   m11           C
...


在Power BI中,我应该如何处理这样的问题?感谢您的建议。

您可以使用以下
dax
措施来实现您的结果,因此当您知道
产品出现在多个唯一的城市时,它将同时返回这两个城市,并在有帮助的情况下接受解决方案:)


Hi Kin,谢谢你的回答,你能简单解释一下吗?很抱歉我错过了你的消息,我猜1是指第一次返回或值,让我确认一下我想我调用
Firstnonblank
,因为我需要使用计算返回
文本
,当公式使用
Firstnonblank
找不到任何内容时,它将返回空白,
1、2、3
不会影响结果。您可以参考此链接了解其他使用方法。非常感谢您分享更多信息。我会看一看:)欢迎,但请注意PowerBi中引入的最新更新
GTP3
,它将在未来取代
dax
,哈哈。
Column = 
var result1 = CALCULATE(FIRSTNONBLANK(Table2[city],1),
                FILTER(ALL(Table2),Table2[product_name] = EARLIER(Table1[product_name])))
var distint = CALCULATE(DISTINCTCOUNT(Table2[city]),
                FILTER(ALL(Table2),Table2[product_name]=EARLIER(Table1[product_name])))
return
IF(distint>1,"both",IF(ISBLANK(result1),"no value",result1))