列表函数
这些函数创建和操作列表值。
信息
名字 | 描述 |
---|---|
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 值的列表。 |
参数值
匹配项规范
- Occurrence.First = 0;
- Occurrence.Last = 1;
- Occurrence.All = 2;
排序方式
- Order.Ascending = 0;
- Order.Descending = 1;
相等条件
列表值的公式条件可以指定为以下任一:
- 一个函数值,它可以是:
- 一个键选择器,用于确定列表中要应用相等条件的值。
- 用于指定要应用的比较类型的比较器函数。 可以指定内置的比较器函数 - 转到 比较器函数。
- 一个列表值,其中包含:
- 正好两项。
- 第一个元素是上面指定的键选择器。
- 第二个元素是上面指定的比较器。
有关详细信息和示例,请转到 List.Distinct。
比较条件
可将比较条件作为以下值之一提供:
- 用于指定排序顺序的数字值。 有关详细信息,请参阅排序顺序。
- 若要计算要用于排序的键,可以使用一个参数的函数。
- 若要同时选择键和控制顺序,比较条件可以是包含键和顺序的列表。
- 若要完全控制比较,可以使用两个参数的函数,该函数返回 -1、0 或 1,给定左右输入之间的关系。 Value.Compare 是可用于委托此逻辑的方法。
有关详细信息和示例,请转到 List.Sort。
替换操作
替换操作由列表值指定。 此列表的每个项都必须:
- 仅有两项的一个列表值。
- 第一项是列表中要替换的旧值。
- 第二项是新值,该值应替换列表中所有出现的旧值。