Power BI显示标题列表而不是ID的列表

时间:2019-10-11 15:38:30

标签: powerbi powerquery

我有一个表以1:*关系引用其他表。这些表是从Sharepoint检索的,并且该表引用以“;”分隔的ID。在参考列中。我想显示标题而不是引用表的ID。示例:

tableA
Id title tableBId
1   asd    1; 2;

tableB
Id title
1   Acb
2   bcb 

resultTableA
Id title tableBTitle
1   asd   Acb; bcb;

1 个答案:

答案 0 :(得分:0)

您可以通过使用以下代码在表A中创建自定义列来实现此目的。

这对每一行的作用是:

  1. 计算tableBId列中有多少定界值
  2. 创建tableBId列的临时版本,以替换“;”和“;”与“ |”
  3. 创建一系列从1到分隔值的数字
  4. 从该系列数字中获取一个BTitles列表,从临时版本(带有“ |”)中获取碎片,然后将这些ID查找到表B中。
  5. 从列表中返回标题的串联。

    tableBTitle = 
    VAR DelimCount = LEN([tableBId]) - LEN(SUBSTITUTE([tableBId], ";", ""))
    VAR PathIDs = SUBSTITUTE(SUBSTITUTE([tableBId], "; ", "|"), ";", "|")
    VAR Series = GENERATESERIES(1, DelimCount)
    VAR BTitles = ADDCOLUMNS(Series, "BTitle", LOOKUPVALUE(tableB[title], tableB[Id], VALUE(PATHITEM(PathIDs, [Value]))))
    RETURN
        CONCATENATE(CONCATENATEX(BTitles, [BTitle], "; "), ";")
    

这是通过使用找到的herehere来创建的。

详细了解CONCATENATEX here