我是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"
我正在尝试在订单表中获得以下结果,该表存储了以逗号分隔的供应商名称:
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函数,但是我不知道要获取它。
我正在考虑的解决方案是将表项目中的字段Item_Number
分组,并将表供应商中的字段Supplier_Name
连接起来
我不工作尝试:
Suppliers_list = CONCATENATE(GROUPBY('Items';Suppliers[Supplier_Name]) ; ", ")
有人可以帮忙吗?
我终于找到了距离我的第一个猜测很远的地方。
见我的助手。
答案 0 :(得分:0)
我终于找到了距离我的第一个猜测很远的地方。
首先,您需要在表项目中创建一个新列Supplier_Name
,您将在其中将值存储在来自供应商的字段Supplier_Name
中。我已经做到了:
Supplier_Name = CONCATENATEX (
FILTER ( Suppliers; Items[Supplier_ID] = Suppliers[Supplier_ID] );
Suppliers[Supplier_Name];
""
)
现在我们在表{strong> Items 中有了Supplier_Name
,我们可以通过对每种产品进行分组来计算供应商列表,并将供应商名称连接到新列Suppliers_List
中。
Suppliers_List = CONCATENATEX (
FILTER ( Items; Items[Item_Number] = EARLIER ( Items[Item_Number] ) );
Items[Supplier_Name];
", "
)
您现在可以将其导入可视化元素(例如表格)中。
对社区有帮助的跳跃