Excel Power Query将不同的列表合并到表中

Excel Power Query将不同的列表合并到表中,excel,powerquery,m,Excel,Powerquery,M,我有一个excel表格,其中有多列数据。 我正在尝试创建另一个表,该表将用于单元格内下拉列表,并且只有唯一的值。 我需要在每个列之间独立地获得唯一的值 源表 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 t

我有一个excel表格,其中有多列数据。 我正在尝试创建另一个表,该表将用于单元格内下拉列表,并且只有唯一的值。 我需要在每个列之间独立地获得唯一的值

源表

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"))

但是找不到一种方法可以在没有任何联接的情况下将其合并到一个表中。

使用Office 365,您甚至不需要Power Query,使用
UNIQUE更容易:

=唯一(表1[geo])

但是找不到一种方法,在没有任何联接的情况下如何将其合并到一个表中

我想你不应该把它们放在一张桌子上,而是分开放。表背后的思想是,每一行都包含彼此相关的信息,这显然不是数据的情况。

类似于,您可以使用从列表中组合一个表

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

这是真的,我知道这一点,但如果你想在数据验证列表中使用它,你会得到错误(如果你直接在那里使用Unique fx),或者你需要创建相当复杂的公式来捕捉动态调整大小的范围。若我把它放在excel表格中,我所要做的就是把命名范围放在那个里,忽略空白值。谢谢。这太棒了。我已经在创建我的自定义巨函数的中间了。你是否也有一些快速的胜利在桌子上应用它,不管列的数量和名称如何,它和我链接的文章的编辑部分是一样的,除了
List.Distinct
而不是
List.RemoveNulls
Source
而不是
Pivot