powerbi - Power BI 在 LIKE 子句上连接两个表

标签 powerbi dax powerquery m

如何通过 LIKE 子句连接 Power BI 中的两个表?假设我们有两个表:

+------------------+  +--------+
|    Messy_Name    |  |  Tag   |
+------------------+  +--------+
| red apple        |  | apple  |
| apple very tasty |  | banana |
| good apple green |  +--------+
| yellow banana    |            
| banana split     |            
+------------------+            

我们想在 PBI M 或 DAX(最好是两者)中加入它们以模仿此 SQL 查询:

select
  a.Messy_Name
 ,b.Tag
from FactTable a
outer apply
    (
    select top 1
     b.Tag
    from TagList b
    where a.Messy_Name like '%'+b.Tag+'%'
    order by b.Tag
    ) b

所以期望的结果是:

+------------------+--------+
|    Messy_Name    |  Tag   |
+------------------+--------+
| red apple        | apple  |
| apple very tasty | apple  |
| good apple green | apple  |
| yellow banana    | banana |
| banana split     | banana |
+------------------+--------+

因此查询应该从 TagList 表中返回第一个 Tag,其中 Messy_Name 包含 Tag。最终,这是一对一的关系。

最佳答案

要在 Power Query 中执行此操作,请使用此公式创建自定义列

List.Max(
    Table.SelectRows(Tags,
       (T) => Text.Contains([Messy_Name], T[Tag]))[Tag])

关于powerbi - Power BI 在 LIKE 子句上连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51930513/

相关文章:

powerbi - 编辑 Power BI pbiviz 自定义视觉包

powerpivot - 使用 Powerpivot 中的 DAX 计算今天与特定日期之间的天数

if-statement - 强大的查询 - 用于检查日期的计算列

mysql - 使用 Excel 进行数据转换

r - 从 R 脚本到 Power Bi - 如何使用 setdiff

powerbi - DAX 在 Power BI 中与其他人一起衡量前 N 个

powerbi - X 轴包含同一图表中临近日期的年份和月份

excel - 删除重复项但有异常

excel - 如何使用电源查询从表格 1 到表格 2 的 1 个单元格(粘贴在单元格 A1 中的链接)提取数据?

powerbi - 如何获取Power BI中的子标题列?