Как исправить ошибку кода запроса Power для разделения текстового столбца на основе критериев - PullRequest
1 голос
/ 22 мая 2019

Разделить текстовые значения в столбце на основе типа данных первого символа в каждой записи.

Мне нужно, чтобы новый (пользовательский) столбец возвращал текст перед первым разделителем "", еслипервый символ текста - это число, в противном случае возвращается «0».

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

Мне нужно, чтобы новый (пользовательский) столбец возвращал текст перед первым разделителем "", если первый символтекст - это число, в противном случае возвращается «0».

1 Ответ

0 голосов
/ 22 мая 2019

Я не думаю, что Value.Is вполне то, что вы хотите.Я бы порекомендовал конструкцию try otherwise вместе с Number.FromText, например:

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

Если текст перед первым пробелом можно преобразовать в число, то это то, что вы получите.Если это невозможно, 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" из "12b Maple St", тогда как первая версия вернет 0, поскольку "12b" нельзя преобразовать в число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...