您好,我正在尝试对表应用查找以从另一个表中查找相应的值。但是由于存在空值,我想使用主表中的不同列应用另一个查找,并在不同的查找表中查找这些值。虽然我能够解决第一个问题,但无法应用多个查找。
如果值不是来自第一列,则它与通过使用多列在多个表上应用两个 vlookup 相同。
编辑:
我想做的是创建一个我当前使用的这个 excel 公式的等价物:
=IFERROR(IFERROR(VLOOKUP([@[账户名]],Table15,5,FALSE),VLOOKUP([@Industry],Table14,2,FALSE)),"Industry Unknown")
我对 M 世界很陌生,所以无法弄清楚。虽然我只能为一个查找表编写这段代码:
(let AccountName = [Account Name] in Table.SelectRows(#"Account to Segment Mappings", each [Account Name] = AccountName)){0}[Customer Segment]
在 power query 中,我导入了两个查找表——账户到细分市场的映射(表 15)和行业到细分市场的映射(表 14)。
我现在正在尝试将主表中的帐户名称映射到表 15 中的帐户名称,如果不存在,则在主表中查找行业列并检查表 14。如果仍然找不到值返回“Industry Unknown “
主表
账户名 | 工业 | Customer Segment(需要映射这个) |
---|---|---|
农行 | 金融 | |
Z公司 | 商家 | |
D公司 | 商家 | |
一家公司 | 能源/公用事业 |
账户到细分映射表
账户名 | 客户群 |
---|---|
农行 | 金融 |
Z公司 | 商业 |
D公司 | 数字合作伙伴 |
行业细分映射表
工业 | 客户群 |
---|---|
金融 | 金融 |
能源/公用事业 | 商业 |
商家 | 数字合作伙伴 |
Excel 代码使用其帐户名称列在帐户到段映射表中查看帐户名称。如果不存在,则使用行业列尝试在行业映射表中查找客户细分。如果在那里也找不到它,它会给出“行业未知”
由于您没有发布您正在使用的数据样本,因此无法具体帮助您。也就是说,如果您正在寻找 powerquery 解决方案,请使用相应的匹配列将最初的两个表合并在一起。然后对于具有空值的项目,再次将其中一个表与第三个表合并。根据需要组合从中获得的结果