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

Я создаю рабочую книгу в PowerBI, и мне нужно сделать условное добавление текста в столбец A, если он соответствует определенным критериям.В частности, если столбец A не заканчивается на «.html», я хочу добавить текст «.html» к столбцу.

Пример данных будет выглядеть следующим образом:

URL                 | Visits
site.com/page1.html | 5
site.com/page2.html | 12
site.com/page3      | 15
site.com/page4.html | 8

, где требуемый вывод будет выглядеть следующим образом:

URL                 | Visits
site.com/page1.html | 5
site.com/page2.html | 12
site.com/page3.html | 15
site.com/page4.html | 8

Я попытался использовать код:

   #"CurrentLine" = Table.TransformColumns(#"PreviousLine", {{"URL", each if Text.EndsWith([URL],".html") = false then _ & ".html" else "URL", type text}})

Но это возвращает ошибку "не может применить доступ к полю к типуТекст".

Я могу добиться желаемого результата очень окольным путем, если я использую AddColumn для хранения значения критерия, а затем еще один AddColumn для хранения нового добавленного значения, но это кажется чрезмерно излишним подходом к выполнениюодиночное преобразование в столбец.(Я специально стараюсь избегать этого, так как у меня есть около 10 или около того преобразований и я не хочу иметь так много столбцов, которые можно добавить и очистить, если есть более сжатый способ кодирования)

1 Ответ

1 голос
/ 23 мая 2019

Вы не хотите [URL] внутри Text.EndWith. Попробуйте это:

= Table.TransformColumns(#"PreviousLine",
      {{"URL", each if Text.EndsWith(_, ".html") then _ else _ & ".html", type text}}
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...