Power Query - Table.TranformColumns

3

我想在power query中的JobCodes列中添加前导零。我知道可以使用Text.Start([JobCodes],5,"0")添加新列,但我不想添加新列并返回删除不需要的列。我希望能够使用Table.TransformColumns函数一步完成此操作。这可能吗?

代码:

Table.TransformColumns(#"Changed Type", each Text.PadStart([JobCodes],5,"0"))

错误:

Expression.Error: 我们无法将函数类型的值转换为列表类型。 详情: 值=Function 类型=Type


1
如果您的问题已经解决,请选择一个答案接受,这样它就会被标记为已回答。 - Alexis Olson
3个回答

7
你的语法有些问题。我认为这才是你想要的:
= Table.TransformColumns(#"Changed Type",{{"JobCodes", each Text.PadStart(_, 5,"0")}})

错误是因为它期望你提供一个要转换的列的列表(注意上面的{{...}})。
最简单的方法是使用GUI执行转换,然后稍微编辑函数即可获得正确的语法。例如,可以使用“格式”>“添加前缀”,这将给出以下步骤(假设你选择在前面加上000)。
= Table.TransformColumns(#"Changed Type", {{"JobCodes", each "000" & _, type text}})

只需要删除"000" & _并替换为您真正需要的转换即可。


非常感谢!非常有帮助。 - Peter Hui

0

正确的表达是:

= Table.TransformColumns(#"Changed Type",{{"JobCodes", each Text.PadStart(Text.From( _), 6, "0"), type text}})

0

或者

= Table.ReplaceValue( Source, each  [JobCodes] ,each Text.PadStart(Number.ToText([JobCodes]),5,"0") ,Replacer.ReplaceValue,{"JobCodes"})
in Replace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接