表函数
这些函数创建并操纵表值。
构造表
名称 | 说明 |
---|---|
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.FromRows 和 Table.FromList。
比较条件
可将比较条件提供为以下值之一:
用于指定排序顺序的一个数字值。 详细信息:排序顺序
若要计算用于排序的键,可以使用具有 1 个参数的函数。
若要选择键并控制顺序,比较条件可以是包含键和顺序的列表。
若要完全控制比较,可以使用具有 2 个参数的函数,此函数将根据左输入和右输入之间的关系返回 -1、0 或 1。 Value.Compare 可用于委托此逻辑。
有关示例,请转到 Table.Sort 的说明。
Count 或 Condition 条件
此条件通常用于排序或行操作。 它确定表中返回的行数,并且可以采用数字或条件两种形式。
数字指示适当函数中返回的值的数量。
如果指定了条件,则返回包含的值最初满足条件的行。 一旦有一个值不符合条件,则不再考虑其他值。
详细信息:Table.FirstN、Table.MaxN
额外值的处理
额外值用于指示函数应如何处理行中的额外值。 此参数指定为一个数字,此数值会映射到以下选项:
ExtraValues.List = 0
ExtraValues.Error = 1
ExtraValues.Ignore = 2
详细信息:Table.FromList、ExtraValues.Type
缺少列处理
此参数用于指示函数应如何处理缺少的列。 此参数指定为一个数字,此数值会映射到以下选项:
MissingField.Error = 0
MissingField.Ignore = 1
MissingField.UseNull = 2;
此参数用于列或转换操作,例如 Table.TransformColumns。 详细信息:MissingField.Type
排序顺序
排序顺序用于指示结果的排序方式。 此参数指定为一个数字,此数值会映射到以下选项:
Order.Ascending = 0
Order.Descending = 1
详细信息:Order.Type
相等条件
可将表的相等条件指定为:
一个函数值,它可以是:
一个键选择器,确定表中要应用相等条件的列。
一个比较器函数,用于指定要应用的比较类型。 可以指定内置比较器函数。 详细信息:比较器函数
一个列表,列出了要应用相等条件的列。
有关示例,请转到 Table.Distinct 的说明。