Power Query 将不同的列表合并到 table

Power Query merge distinct lists into table

我有一个 excel table 的多列数据。 我正在尝试创建另一个 table,它将用于仅具有唯一值的单元格下拉列表。 我需要在每列之间独立获取唯一值。

来源table

geo   product   type
g1    p1        t1
g1    p2        t1
g1    p3        t2
g1    p4        t1
g2    p1        t2
g2    p2        t1
g2    p3        t2
g2    p4        t1

预期结果:

geo   product   type
g1    p1        t1
g2    p2        t2
null  p3        null
null  p4        null

我可以获得唯一的列作为列表

geo_list = List.Distinct(Table.Column(Source, "geo"))
product_list = List.Distinct(Table.Column(Source, "product"))
type_list = List.Distinct(Table.Column(Source, "type"))

但无法找到一种方法如何在没有任何连接的情况下将其合并为一个table。

有了 Office 365,你甚至不需要 Power Query,有了 UNIQUE:

就容易多了

=UNIQUE(Table1[geo])

But cannot find a way how to merge it into one table without any kind of join.

我认为你不应该试图把它们合二为一table,而是分开保存。 tables 背后的想法是每一行都包含彼此相关的信息,这显然不是您的数据的情况。

类似于您列表中的 , you can use Table.FromColumns 到 assemble 一个 table。

Table.FromColumns(
    {
        List.Distinct(Source[geo]),
        List.Distinct(Source[product]),
        List.Distinct(Source[type])
    },
    {"geo","product","type"}
)