我是Power BI的新手,需要在新列Suppliers_List
中连接给定项目的所有供应商。
我有一个表Orders,我需要在其中创建列:
Order_Number Customer_ID Item_Number
0001 1 1
0002 2 1
0003 1 3
0004 1 4
0005 3 2
0006 3 2
0007 4 2
一个表项目,其中同一产品可以有多个供应商:
Unique_ID Item_Number Supplier_ID Item_Name
1 1 1 "wheel"
2 1 2 "wheel"
3 2 1 "door"
4 2 2 "door"
5 3 1 "motor"
6 3 3 "motor"
7 4 4 "dashboard"
以及一个表供应商:
Supplier_ID Supplier_Name
1 "Metal&co"
2 "SmithSE"
3 "BetterMotors"
4 "TinyCircuits"
我试图在Orders表中获得以下结果,我在该表中存储供应商名称,用逗号分隔:
Order_Number Customer_ID Item_Number Suppliers_List
0001 1 1 "Metal&co, SmithSE"
0002 2 1 "Metal&co, SmithSE"
0003 1 3 "Metal&co, BetterMotors"
0004 1 4 "TinyCircuits"
0005 3 2 "Metal&co, SmithSE"
0006 3 2 "Metal&co, SmithSE"
0007 4 2 "Metal&co, SmithSE"
我知道我的列Suppliers_List
的dax表达式可能涉及Concatenate和GroupBy函数,但我不知道该表达式
我正在考虑的解决方案是将Items表中的字段Item_Number
分组,并将Suppliers中的字段Supplier_Name
连接起来。
我的不工作尝试:
Suppliers_list = CONCATENATE(GROUPBY('Items';Suppliers[Supplier_Name]) ; ", ")
有人能帮忙吗?
更新
我终于发现了一些与我最初的猜测相去甚远的东西。
看看我的anwser。
我终于发现了一些与最初猜测相去甚远的东西。
首先,您需要在Items表中创建一个新列Supplier_Name
,在其中您将在字段Supplier_Name
中存储Suppliers的值。我已经做到了:
Supplier_Name = CONCATENATEX (
FILTER ( Suppliers; Items[Supplier_ID] = Suppliers[Supplier_ID] );
Suppliers[Supplier_Name];
""
)
既然我们的表Items中有了Supplier_Name
,我们就可以通过对每个产品进行分组来计算供应商列表,并将供应商名称连接到新的列Suppliers_List
中。
Suppliers_List = CONCATENATEX (
FILTER ( Items; Items[Item_Number] = EARLIER ( Items[Item_Number] ) );
Items[Supplier_Name];
", "
)
现在,您可以在可视化元素(如表(中导入它。
希望这将有助于社区