PowerBI — запрос мощности/M — Ограничить количество символов в значении столбца и добавить суффикс

#powerbi #powerquery #m

#powerbi #powerquery #m

Вопрос:

Справочная информация: у меня есть столбец с темой электронного письма. Я хочу, чтобы они были длиной не более 30 символов. Чтобы пользователь заметил, что я сократил значения более чем на 30 символов, я хочу добавить суффикс «…».

Проблема: если содержимое столбца превышает 30 символов, я хочу удалить все символы, превышающие 30, и добавить «…» в конец строки.

Что я пробовал: я добавил следующие шаги в редакторе запросов мощности, но он добавляет «…» ко всем строкам, в том числе к строкам, не превышающим 30 символов.

 #"Extracted First Characters" = Table.TransformColumns(#"Duplicated Column", {{"subject - Copy", each Text.Start(_, 30), type text}}),
#"Renamed Columns1" = Table.RenameColumns(#"Extracted First Characters",{{"subject - Copy", "subject - short"}}),
#"Added Suffix" = Table.TransformColumns(#"Renamed Columns1", {{"subject - short", each _ amp; "...", type text}}),
  

Заранее спасибо

Ответ №1:

Вы можете преобразовать столбец subject за один шаг:

 = Table.TransformColumns(#"Previous Step", {{"Subject", each if Text.Length(_) > 30 then Text.Start(_, 30) amp; "..." else _, type text}})
  

Мы проверяем, превышает ли длина текста 30 символов, и если да, возвращаем только первые 30 символов с суффиксом «…», в противном случае просто возвращаем текст как есть.