List.Select

Syntax

List.Select(list as list, selection as function) as list

About

返回与选择条件匹配的指定列表中的值。

  • list:要检查的列表。
  • selection:确定要选择的值的函数。

示例 1

在列表 {1, -3, 4, 9, -2} 中查找大于 0 的值。

用法

List.Select({1, -3, 4, 9, -2}, each _ > 0)

输出

{1, 4, 9}

示例 2

从列表中选择星期六或星期日的日期。

用法

let
    dates = {
        #date(2025, 10, 20),  // Monday
        #date(2025, 10, 21),  // Tuesday
        #date(2025, 10, 25),  // Saturday
        #date(2025, 10, 26),  // Sunday
        #date(2025, 10, 27)   // Monday
    },
    weekendDates = List.Select(
        dates,
        each Date.DayOfWeek(_, Day.Monday) >= 5
    )
in
    weekendDates

输出

{
    #date(2025, 10, 25),
    #date(2025, 10, 26)
}

示例 3

显示购买总额超过 100 美元的活跃客户的表格。

用法

let
    customers = {
        [Name = "Alice", Status = "Active", Purchases = 150],
        [Name = "Bob", Status = "Inactive", Purchases = 200],
        [Name = "Carol", Status = "Active", Purchases = 90],
        [Name = "Dave", Status = "Active", Purchases = 120]
    },
    highValueActiveCustomers = List.Select(
        customers,
        each [Status] = "Active" and [Purchases] > 100
    ),
    resultTable = Table.FromRecords(
        highValueActiveCustomers,
        type table [Name = text, Status = text, Purchases = number]
    )
in
    resultTable

输出

#table(type table[Name = text, Status = text, Purchases = number],
{
    {"Alice", "Active", 150},
    {"Dave", "Active", 120}
})