如何在Power Query中通过索引或位置引用列?

7

我在Power Query中有一行代码如下。所以我想动态地通过位置而不是名称来引用它。请问有人可以帮忙吗?

#"Filtered Part Desc" = Table.SelectRows(#"Removed Columns3", each
                            Text.Contains([part_desc], "ENG") or
                            Text.Contains([part_desc], "TRANS"))

我尝试用Table.ColumnNames(Promoted){6}替换[part_desc],但它没有起作用


你能解释一下你试图做什么的逻辑吗?我不明白你的目标是什么。 - Alexis Olson
1个回答

24

您可以使用Table.ColumnNames(MyTable){n}通过列的位置返回列名 - 这是基于0的,因此第6列的名称将是Table.ColumnNames(MyTable){5}

然后,您可以使用Record.Field按名称引用列。

您也可以使用列表进行过滤,而不是使用or运算符串联条件。

因此,将这些内容应用到您的示例中:

    #"Filtered Part Desc" = Table.SelectRows ( 
        #"Removed Columns3", 
        each List.Contains(
            {"ENG","TRANS"}, 
            Record.Field(_, Table.ColumnNames(#"Removed Columns3"){5})
        )
    )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接