Power Query:使用逻辑运算符进行多条件过滤

问题描述 投票:0回答:1

我在电源查询中有下表:

enter image description here

我正在尝试返回“RAM”和“SoCal”这两个词的最新文件。 在这种情况下,返回文件将是:

RR RAM 2024-07-08.xlsx

RR 南加州 2024-08-05.xlsx

我如何编写一个函数来做到这一点?

我尝试过:

= Table.SelectRows(GetDateFromFileName, let latest = List.Max(GetDateFromFileName[Text Between Delimiters]) in each [Text Between Delimiters] = latest and (Text.Contains([Name], "RAM") or Text.Contains([Name], "SoCal")))

但是没有成功。

谢谢你

filter powerquery logical-operators
1个回答
0
投票

尝试:

  1. 添加自定义条件列,具体取决于
    Name
    是否包含您想要的字符串。
  2. 按日期列排序
    Text Between Delimiters
    降序
  3. 缓冲表以维持排序顺序。
  4. 删除条件列上的重复项

类似于:

let
    ...
    #"Added Conditional Column" = Table.AddColumn(GetDateFromFileName, "Custom", each if Text.Contains([Name], "RAM") then "RAM" else if Text.Contains([Name], "SoCal") then "SoCal" else "ignore"),
    #"Sorted Rows" = Table.Sort(#"Added Conditional Column",{{"Text Between Delimiters", Order.Descending}}),
    TableBuffer = Table.Buffer(#"Sorted Rows"),
    #"Removed Duplicates" = Table.Distinct(TableBuffer, {"Custom"})
in
    #"Removed Duplicates"
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.