列表函数

这些函数创建和操作列表值。

信息

名字 描述
List.Count 返回列表中的项数。
List.IsEmpty 如果列表为空,则返回 true
List.NonNullCount 返回列表中的非 null 项数。

选择

名字 描述
List.Alternate 返回由列表中所有奇数偏移元素组成的列表。
List.Buffer 缓冲列表。
List.Distinct 返回已删除重复项的值的列表。
List.FindText 返回包含指定文本的值列表(包括记录字段)。
List.First 如果为空,则返回列表的第一个值或指定的默认值。
List.FirstN 通过指定要返回的项数或限定条件来返回列表中的第一组项。
List.InsertRange 在给定索引处将值插入到列表中。
List.IsDistinct 指示列表中是否存在重复项。
List.Last 如果为空,则返回列表的最后一个值或指定的默认值。
List.LastN 返回列表中的最后一个值。 可以选择指定要返回的值数或限定条件。
List.MatchesAll 如果条件函数由列表中的所有值满足,则返回 true
List.MatchesAny 如果条件函数满足任何值,则返回 true
List.Positions 返回输入的偏移量列表。
List.Range 返回从偏移量开始的列表的子集。
List.Select 返回与条件匹配的值的列表。
List.Single 返回长度为一的列表中的唯一列表项,否则将引发异常。
List.SingleOrDefault 返回一个长度为一的列表项,或者在列表为空时返回默认值。
List.Skip 返回一个列表,该列表跳过列表开头的指定元素数。

转换函数

名字 描述
List.Accumulate 累积列表中各项的汇总值。
List.Combine 通过组合多个列表返回单个列表。
List.ConformToPageReader 此函数仅用于内部使用。
List.RemoveFirstN 返回一个列表,该列表跳过列表开头的指定元素数。
List.RemoveItems 从第一个列表中删除在第二个列表中存在的项。
List.RemoveLastN 返回一个列表,该列表从列表末尾移除指定数量的元素。
List.RemoveMatchingItems 删除输入值的所有匹配项。
List.RemoveNulls 从指定列表中删除所有 null 值。
List.RemoveRange 删除从指定位置开始的值计数。
List.Repeat 返回为原始列表的 count 次重复的列表。
List.ReplaceMatchingItems 以与条件匹配的新值替换列表中符合条件的现有值。
List.ReplaceRange 用替换值替换从 position 开始的 count 个数值。
List.ReplaceValue 在列表中搜索指定值并替换它。
List.Reverse 反转列表中的值顺序。
List.Split 使用指定的页面大小将指定列表拆分为列表。
List.Transform 返回从此列表中计算的值的新列表。
List.TransformMany 返回一个列表,该列表的元素使用指定的函数从输入列表中转换。
List.Zip 通过将位于多个列表中的相同位置的项组合在一起,返回列表列表。

成员身份函数

由于所有值都可以针对相等性进行测试,因此这些函数可以针对异类列表进行操作。

名字 描述
List.AllTrue 如果所有表达式均为 true,则返回 true
List.AnyTrue 如果任何表达式为 true,则返回 true。
List.Contains 指示列表是否包含值。
List.ContainsAll 指示列表包含另一个列表中的所有值的位置。
List.ContainsAny 指示列表包含另一个列表中的任意值的位置。
List.PositionOf 返回列表中某个值的偏移位置。
List.PositionOfAny 返回列表中的值的第一个偏移量。

设置运算

名字 描述
List.Difference 返回两个给定列表的区别。
List.Intersect 返回在输入中找到的列表值的交集。
List.Union 返回输入中找到的列表值的并集。

订购

排序函数执行比较。 比较的所有值必须相互比较。 这意味着这些值必须采用相同的数据类型(或包含始终经比较为最小的 null)。 否则会引发 Expression.Error

可比较的数据类型包括:

  • 数字
  • 持续时间
  • 日期/时间
  • 文本
  • 逻辑
名字 描述
List.Max 返回空列表的最大值或默认值。
List.MaxN 返回列表中的最大值。 必须指定要返回的值数或筛选条件。
List.Median 返回列表中的中值。
List.Min 返回空列表的最小值或默认值。
List.MinN 返回列表中的最小值。 可以指定要返回的值数或筛选条件。
List.Sort 根据指定的条件对数据列表进行排序。
List.Percentile 返回对应于给定概率的一个或多个样本百分位数。

平均

这些函数对数字、DateTimes 和 Duration 的同质列表进行操作。

名字 描述
List.Average 返回值的平均值。 适用于数字、日期、日期/时间、日期/时区和持续时间值。
List.Mode 返回列表中的最常见值。
List.Modes 返回列表中最常见的值的列表。
List.StandardDeviation 返回基于样本的标准差估计值。 此函数执行基于样本的估计值。 对于数字,结果是一个数字,对于日期/时间和持续时间,结果是一个持续时间。

加法

这些函数适用于数字或持续时间的同类列表。

名字 描述
List.Sum 返回列表中的项的总和。

数值

这些函数仅处理数字。

名字 描述
List.Covariance 返回两个数字列表之间的协方差值。
List.Product 返回列表中的数字的乘积。

发电机

这些函数生成值列表。

名字 描述
List.Dates 给定初始值、计数和增量持续时间值来生成 date 值的列表。
List.DateTimes 给定初始值、计数和增量持续时间值来生成 datetime 值的列表。
List.DateTimeZones 给定初始值、计数和增量持续时间值来生成 datetimezone 值的列表。
List.Durations 给定初始值、计数和增量持续时间值后,生成一个 duration 值的列表。
List.Generate 生成值列表。
List.Numbers 返回给定初始值、计数和可选增量值的数字列表。
List.Random 返回随机数的列表。
List.Times 给定初始值、计数和增量持续时间值来生成 time 值的列表。

参数值

匹配项规范

排序方式

相等条件

列表值的公式条件可以指定为以下任一:

  • 一个函数值,它可以是:
    • 一个键选择器,用于确定列表中要应用相等条件的值。
    • 用于指定要应用的比较类型的比较器函数。 可以指定内置的比较器函数 - 转到 比较器函数
  • 一个列表值,其中包含:
    • 正好两项。
    • 第一个元素是上面指定的键选择器。
    • 第二个元素是上面指定的比较器。

有关详细信息和示例,请转到 List.Distinct

比较条件

可将比较条件作为以下值之一提供:

  • 用于指定排序顺序的数字值。 有关详细信息,请参阅排序顺序
  • 若要计算要用于排序的键,可以使用一个参数的函数。
  • 若要同时选择键和控制顺序,比较条件可以是包含键和顺序的列表。
  • 若要完全控制比较,可以使用两个参数的函数,该函数返回 -1、0 或 1,给定左右输入之间的关系。 Value.Compare 是可用于委托此逻辑的方法。

有关详细信息和示例,请转到 List.Sort

替换操作

替换操作由列表值指定。 此列表的每个项都必须:

  • 仅有两项的一个列表值。
  • 第一项是列表中要替换的旧值。
  • 第二项是新值,该值应替换列表中所有出现的旧值。