【发布时间】:2020-09-03 08:13:33
【问题描述】:
在 Table.TransformRows 的 M 语言文档中,它将类型签名列为 Table.TransformRows(table as table, transform as function) as list
接下来是略显神秘的评论
如果指定了转换函数的返回类型,则结果将是具有该行类型的表。
但是,每当我定义我的函数时,Power Query 总是返回一个列表而不是一个表。 例如,这个查询:
func = (row) as record => [B = Number.ToText(row[a])] as record,
#"firstTable"= Table.FromRecords({
[a = 1],
[a = 2],
[a = 3],
[a = 4],
[a = 5]}),
#"myTable" = Table.TransformRows(#"firstTable",func)
in
#"myTable"
返回一个表。 我想知道是否需要创建一个记录类型来指定每个记录条目的类型,但如果我尝试
myType = type [B = text],
func = (row) as record => [B = Number.ToText(row[a])] as myType
然后它告诉我我的类型标识符在第二行无效。最后,我尝试使用
设置函数返回类型myType = type [B = text],
func1 = (row) as record => [B = Number.ToText(row[a])] as myType,
funcType = Type.ForFunction([ReturnType = myType, Parameters = [X = type number]], 1),
func = Value.ReplaceType(func1,funcType)
但是 Table.TransformRows 仍然返回一个列表。
我知道我可以使用 Table.FromRecords 或 Table.FromRows 将 Table.TransformRows 的结果转换为表格,但我目前遇到了这些函数的一些性能问题,并试图将它们删除到看看这是否能解决这些问题
【问题讨论】:
标签: powerbi powerquery m