表函数

这些函数创建并操纵表值。

构造表

名称 说明
ItemExpression.From 返回函数主体的抽象语法树 (AST)。
ItemExpression.Item 表示项表达式中项的抽象语法树 (AST) 节点。
RowExpression.Column 返回表示对行表达式中列的访问权限的抽象语法树 (AST)。
RowExpression.From 返回函数主体的抽象语法树 (AST)。
RowExpression.Row 表示行表达式中行的抽象语法树 (AST) 节点。
Table.FromColumns 从包含嵌套列表的列表中返回一个带有列名称和值的表。
Table.FromList 通过将指定的拆分函数应用于列表中的每一项,将列表转换为表。
Table.FromRecords 从记录列表中返回一个表。
Table.FromRows 从列表中创建一个表,其中列表的每个元素都是包含单行列值的列表。
Table.FromValue 返回一个表,此表中的某一列包含所提供的值或值列表。
Table.FuzzyGroup 按每行的指定列中模糊匹配的值对表的行进行分组。
Table.FuzzyJoin 联接两个表中基于给定键模糊匹配的行。
Table.FuzzyNestedJoin 在两个表之间对提供的列执行模糊联接,并在新列中生成联接结果。
Table.Split 使用指定页面大小将指定表拆分为一表列表。
Table.View 使用用户定义的处理程序创建或扩展表以执行查询和操作。
Table.ViewError 创建修改后的错误记录,该记录在视图上定义的处理程序引发时(通过 Table.View)将不会触发回退。
Table.ViewFunction 创建一个可以由在视图上(通过 Table.View)定义的处理程序截获的函数。

转换

名称 说明
Table.ToColumns 返回嵌套列表的一个列表,其中每个列表表示输入表中值的列。
Table.ToList 通过将指定的组合函数应用于表中的每一行值,将表返回到列表中。
Table.ToRecords 从输入表中返回记录列表。
Table.ToRows 从输入表中返回行值的嵌套列表。

信息

名称 说明
Table.ApproximateRowCount 返回表中的近似行数。
Table.ColumnCount 返回表中的列数。
Table.IsEmpty 如果表中不包含任何行,则返回 true。
Table.Profile 返回表中列的配置文件。
Table.RowCount 返回表中的行数。
Table.Schema 返回一个表,此表包含指定表的列的描述(即架构)。
Tables.GetRelationships 返回一组表之间的关系。

行操作

名称 说明
Table.AlternateRows 返回一个表,此表包含表中的行的交替模式。
Table.Combine 返回作为合并一个表列表的结果的表。 这些表必须具有相同的行类型结构。
Table.FindText 返回一个表,此表仅包含特定行,这些行的其中一个单元格或任何部分包含了指定文本。
Table.First 返回表中的第一行。
Table.FirstN 返回表中的第一行(或前几行),具体因 countOrCondition 参数而异。
Table.FirstValue 返回表的第一行的第一列或指定的默认值。
Table.FromPartitions 将作为组合一组分区表的结果的表返回到新的列。 可以选择性地指定列的类型,默认值为 any。
Table.InsertRows 返回一个表,其中包含在索引处插入到表中的行的列表。 要插入的每一行都必须与表的行类型相匹配。
Table.Last 返回表的最后一行。
Table.LastN 返回表中的最后一行(或最后几行),具体因 countOrCondition 参数而异。
Table.MatchesAllRows 如果表中的所有行均满足条件,则返回 true。
Table.MatchesAnyRows 如果表中的任一行均满足条件,则返回 true。
Table.Partition 根据每行的列值和一个哈希函数,将表分区为表的组数的一个列表。 哈希函数应用于行的列值以获取此行的哈希值。 哈希值的取模组决定要在其中放置行的返回表。
Table.PartitionValues 返回有关如何对表进行分区的信息。
Table.Range 从表中返回从偏移量开始的指定行数。
Table.RemoveFirstN 返回一个表,此表从第一行开始删除了指定行数。 删除的行数取决于可选的 countOrCondition 参数。
Table.RemoveLastN 返回一个表,此表从最后一行开始删除了指定行数。 删除的行数取决于可选的 countOrCondition 参数。
Table.RemoveRows 返回一个表,此表从偏移量开始删除了指定行数。
Table.RemoveRowsWithErrors 返回一个表,从表中删除了至少一个单元格包含错误的所有行。
Table.Repeat 返回一个表,此表包含表中重复计数次数的行。
Table.ReplaceRows 返回一个表,其中采用了提供的行代替从偏移量开始且继续计数的行。
Table.ReverseRows 返回一个表,其中的行以相反顺序排序。
Table.SelectRows 返回一个表,此表仅包含符合条件的行。
Table.SelectRowsWithErrors 返回一个表,此表中只有至少一个单元格包含错误的行。
Table.SingleRow 从表中返回单个行。
Table.Skip 返回一个表,此表不包含表的第一行或前几行。
Table.SplitAt 返回包含指定的第一个计数行和其余行的列表。

列操作

名称 说明
Table.Column 返回表中一列的值。
Table.ColumnNames 从表中返回列的名称。
Table.ColumnsOfType 返回带有与指定类型相匹配的列名称的列表。
Table.DemoteHeaders 将标题行向下降级为表的第一行。
Table.DuplicateColumn 复制具有指定名称的列。 值和类型是从源列复制的。
Table.HasColumns 指示表是否包含指定的列。
Table.Pivot 给定表和包含透视值的属性列,为每个透视值创建新列并从 valueColumn 中分配它们的值。 可以提供可选的 aggregationFunction 来处理属性列中多次出现的相同键值。
Table.PrefixColumns 返回一个表,其中所有列均以文本值为前缀。
Table.PromoteHeaders 将表的第一行升级为其标头或列名称。
Table.RemoveColumns 返回不包含特定一列或多列的表。
Table.ReorderColumns 返回一个表,此表包含采用与另一列相对的顺序排列的特定列。
Table.RenameColumns 返回一个表,此表中按指定内容对列进行了重命名。
Table.SelectColumns 返回仅包含特定列的表。
Table.TransformColumnNames 使用给定的函数转换列名。
Table.Unpivot 给定表列的列表,将这些列转换为属性值对。
Table.UnpivotOtherColumns 将指定集以外的所有列转换为属性值对,与每行中的剩余值相合并。

转换

名称 说明
Table.AddColumn 将名为 newColumnName 的列添加到表中。
Table.AddFuzzyClusterColumn 添加一个新列,该列具有通过对表中指定列的值进行模糊分组而获得的代表值。
Table.AddIndexColumn 返回一个表,此表包含带有指定名称的新列,其中每行都包含表中的行的索引。
Table.AddJoinColumn 从特定列执行 table1 和 table2 之间的嵌套联接,并为 table1 的每一行生成作为 newColumnName 列的联接结果。
Table.AddKey 将键添加到表。
Table.AggregateTableColumn 将嵌套在特定列中的表聚合到包含这些表的聚合值的多列中。
Table.CombineColumns Table.CombineColumns 使用组合程序函数合并列来生成新列。 Table.CombineColumns 与 Table.SplitColumns 相反。
Table.CombineColumnsToRecord 将指定的列合并为新的记录值列,其中每个记录都具有与组合列的列名和值相对应的字段名称和值。
Table.ConformToPageReader 此函数仅计划供内部使用。
Table.ExpandListColumn 给定表中的列表列,为其列表中的每个值创建行的副本。
Table.ExpandRecordColumn 将记录列扩展为具有每个值的列。
Table.ExpandTableColumn 将一个记录列或表列扩展到包含表中的多列。
Table.FillDown 使用列中的最新非 NULL 值替换表中指定一列或多列中的 NULL 值。
Table.FillUp 从指定的表中返回一个表,其中下一个单元格的值会传播到指定的列中上面值为 NULL 的单元格。
Table.FilterWithDataTable 此函数仅计划供内部使用。
Table.Group 按每行的键列的值对表行进行分组。
Table.Join 基于 table1、key1 以及 table2、key2 选择的键列的值的相等性,联接 table1 的行和 table2 的行。
Table.Keys 返回指定表的键。
Table.NestedJoin 基于键的相等性联接表中的行。 结果会输入到新列中。
Table.ReplaceErrorValues 使用相应的指定值替换指定列中的错误值。
Table.ReplaceKeys 替换指定表的键。
Table.ReplaceRelationshipIdentity 此函数仅计划供内部使用。
Table.ReplaceValue 通过使用提供的替换器函数(例如 text.Replace 或 Value.Replace),用 newValue 替换表的特定列中的 oldValue。
Table.SplitColumn 将拆分器函数应用于每个值来从单个列中返回新的一组列。
Table.TransformColumns 转换一个或多个列的值。
Table.TransformColumnTypes 使用类型转换表中的列类型。
Table.TransformRows 使用转换函数转换表中的行。
Table.Transpose 返回一个表,此表将输入表中的列转换为了行,将行转换为了列。

Membership

名称 描述
Table.Contains 确定记录是否显示为表中的一行。
Table.ContainsAll 确定所有指定的记录是否显示为表中的各行。
Table.ContainsAny 确定任何指定的记录是否显示为表中的各行。
Table.Distinct 删除表中的重复行,从而确保留下的所有行都是不同的。
Table.IsDistinct 确定表是否仅包含非重复行。
Table.PositionOf 确定行在表中的一个或多个位置。
Table.PositionOfAny 确定任何指定的行在表中的一个或多个位置。
Table.RemoveMatchingRows 从表中删除行的所有匹配项。
Table.ReplaceMatchingRows 使用新行替换表中的特定行。

中间件排序

名称 描述
Table.Max 使用 comparisonCriteria 返回表中的最大的行或最大的几行。
Table.MaxN 返回表中最大的 N 行。 对行进行排序后,必须指定 countOrCondition 参数以进一步筛选结果。
Table.Min 使用 comparisonCriteria 返回表中的最小的行或最小的几行。
Table.MinN 返回给定表中最小的 N 行。 对行进行排序后,必须指定 countOrCondition 参数以进一步筛选结果。
Table.AddRankColumn 追加一列,并使用一个或多个其他列进行排名。
Table.Sort 使用 comparisonCriteria 或默认顺序(若未指定)对表中的行进行排序。

其他

名称 描述
Table.Buffer 在内存中缓冲一个表,从而在计算期间将其与外部更改相隔离。

参数值

为输出列命名

此参数为文本值的一个列表,指定生成的表的列名。 此参数通常用在 Table 构造函数中,例如 Table.FromRowsTable.FromList

比较条件

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

  • 用于指定排序顺序的一个数字值。 详细信息:排序顺序

  • 若要计算用于排序的键,可以使用具有 1 个参数的函数。

  • 若要选择键并控制顺序,比较条件可以是包含键和顺序的列表。

  • 若要完全控制比较,可以使用具有 2 个参数的函数,此函数将根据左输入和右输入之间的关系返回 -1、0 或 1。 Value.Compare 可用于委托此逻辑。

有关示例,请转到 Table.Sort 的说明。

Count 或 Condition 条件

此条件通常用于排序或行操作。 它确定表中返回的行数,并且可以采用数字或条件两种形式。

  • 数字指示适当函数中返回的值的数量。

  • 如果指定了条件,则返回包含的值最初满足条件的行。 一旦有一个值不符合条件,则不再考虑其他值。

详细信息:Table.FirstNTable.MaxN

额外值的处理

额外值用于指示函数应如何处理行中的额外值。 此参数指定为一个数字,此数值会映射到以下选项:

ExtraValues.List = 0 ExtraValues.Error = 1 ExtraValues.Ignore = 2

详细信息:Table.FromListExtraValues.Type

缺少列处理

此参数用于指示函数应如何处理缺少的列。 此参数指定为一个数字,此数值会映射到以下选项:

MissingField.Error = 0 MissingField.Ignore = 1 MissingField.UseNull = 2;

此参数用于列或转换操作,例如 Table.TransformColumns。 详细信息:MissingField.Type

排序顺序

排序顺序用于指示结果的排序方式。 此参数指定为一个数字,此数值会映射到以下选项:

Order.Ascending = 0 Order.Descending = 1

详细信息:Order.Type

相等条件

可将表的相等条件指定为:

  • 一个函数值,它可以是:

    • 一个键选择器,确定表中要应用相等条件的列。

    • 一个比较器函数,用于指定要应用的比较类型。 可以指定内置比较器函数。 详细信息:比较器函数

  • 一个列表,列出了要应用相等条件的列。

有关示例,请转到 Table.Distinct 的说明。