在连字符的左侧和右侧添加前导零

时间:2019-02-18 19:09:41

标签: powerbi

我在PowerBI中有一个文本列,其数字用连字符分隔。我需要左侧精确地是5位数字。如果小于,则添加前导零。右侧必须为4位数字。少一点,加上前导零。

例如:

  • 0002-800-> 00002-0800
  • 0001-0800-> 00001-0800
  • 12345-220-> 12345-0220

感谢您的帮助。 谢谢

2 个答案:

答案 0 :(得分:0)

  1. 编辑查询。假设文本在称为“代码”的列中。
  2. 使用破折号作为分隔符,以分隔符分隔列
  3. 创建一个新列,以将code.1填充为长度小于5的0,否则使用code.1
  4. 创建一个新列,将code.2填充为长度小于4的0,否则使用code.2
  5. 在两个助手列之间添加一个破折号
  6. 删除代码和帮助程序列,然后根据自己的喜好重命名其余列。

Text.Length将返回字符串的长度,Text.PadStart()将填充文本。上面第3步的公式是

if Text.Length([code.1]) < 5 then 
    Text.PadStart([code.1], 5, "0")
else
    [code.1])

enter image description here

答案 1 :(得分:0)

您可以执行以下步骤:

= Table.TransformColumns(
    Source, {"Column", each Text.Combine({
        Text.PadStart(Text.BeforeDelimiter(_, "-"),5,"0"), 
        Text.PadStart(Text.AfterDelimiter(_, "-"),4,"0")
        },"-"
    ),type text}
)