如何修复基于条件拆分文本列的 Power 查询代码错误

How to fix the Power query code error for splitting a text column based on a criteria

根据每条记录中第一个字符的数据类型拆分列中的文本值。

如果文本的第一个字符是数字,我需要新的(自定义)列 return 在第一个“”分隔符之前的文本,否则 return“0,”。

If Value.Is(Text.Start([ConsumerAddress],1), type number) Then 
Text.BeforeDelimiter([ConsumerAddress]," ") else "0,"

如果文本的第一个字符是数字,我需要新的(自定义)列 return 在第一个“”分隔符之前的文本,否则 return“0,”。

我认为 Value.Is 不是您想要的。我会推荐 try otherwise 结构和 Number.FromText 像这样:

= Table.AddColumn(#"Previous Step", "Custom",
      each try Number.FromText(Text.BeforeDelimiter([ConsumerAddress], " "))
           otherwise 0
  )

如果第一个 space 之前的文本可以转换为数字,那么这就是您得到的。如果它不能 Number.FromText 抛出一个错误,你会从其他规范中得到 0


编辑: 如果你只想要第一个字符的标准,试试这个:

= Table.AddColumn(#"Previous Step", "Custom",
      each if (try Number.FromText(Text.Start([ConsumerAddress], 1)) otherwise 0) <> 0
           then Text.BeforeDelimiter([ConsumerAddress], " ")
           else "0"
  )

这将从 "12b Maple St" return "12b" 而第一个版本将 return 0 因为 "12b" 无法转换为一个数字。