Создание пользовательской функции очистки текста в Power Query

Создание пользовательской функции очистки текста в Power Query

В этом сообщении блога мы более подробно рассмотрим пользовательскую функцию для очистки текста, которую я создал для нашей текущей серии на LuckyTemplates TV под названием « . Вы можете посмотреть полное видео этого урока в нижней части этого блога.

Для недели № 2 у нас есть некоторые беспорядочные данные, которые нужно очистить. Наша цель здесь — очистить все текстовые значения в обоих столбцах.

Для этой задачи я создал чистую текстовую функцию.

Создание пользовательской функции очистки текста в Power Query

Но сначала давайте кратко рассмотрим М-код.

Создание пользовательской функции очистки текста в Power Query

Эта функция принимает один параметр с именем myText. Его значение должно быть текстового типа, и функция должна возвращать текстовое значение, поскольку не все перечисленные ниже переменные возвращают текстовое значение.

Создание пользовательской функции очистки текста в Power Query

Объявление возвращаемого типа приведет к ошибке. Чтобы предотвратить эту ошибку, я могу пока прокомментировать это.

Создание пользовательской функции очистки текста в Power Query

Если мы хотим увидеть, что возвращает первая переменная, все, что нам нужно сделать, это обратиться к ней по имени после предложения in. Итак, я скопирую переменную ToRemove, вставлю ее в нижнюю строку и нажму ОК.

Создание пользовательской функции очистки текста в Power Query

Чтобы увидеть результат этой функции, мы должны вызвать ее. Итак, давайте добавим в этот запрос пользовательский столбец.

Создание пользовательской функции очистки текста в Power Query

Затем вызовите нашу функцию, выберите этот объединенный столбец и нажмите ОК.

Создание пользовательской функции очистки текста в Power Query

Оглавление

Создание списков из пустого запроса

Теперь мы видим, что шаг ToRemove создает список. По сути, это комбинация двух списков.

Первый список создал знаки кавычек, а второй список — это диапазон символов, которые я хотел удалить.

Создание пользовательской функции очистки текста в Power Query

Как я составил этот список?

Ну, я использовал функцию под названием Txt.ToList.

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

Создание пользовательской функции очистки текста в Power Query

Мы видим, что Text.ToList возвращает список значений символов из заданного текстового значения.

Давайте вставим несколько текстов и вызовем эту функцию.

Создание пользовательской функции очистки текста в Power Query

Он создает новый запрос, и вы видите, что этот список содержит все буквы, которые мы видим здесь в тексте.

Создание пользовательской функции очистки текста в Power Query

Помните, я добавил дополнительный список, верно? Я объединил два списка и использовал для этого амперсанд.

Давайте воссоздадим это сейчас. Я использовал амперсанд и инициализатор списка, а затем ввел эти кавычки.

Создание пользовательской функции очистки текста в Power Query

Теперь мы видим, что цитаты были добавлены в этот список, но зачем я создал список?

Создание пользовательской функции очистки текста в Power Query

Что ж, на следующем этапе моей функции очистки текста я использовал М-функцию под названием «Текст». Удалять.

Создание пользовательской функции очистки текста в Power Query

И вы видите, что вы можете ввести текст, а затем список символов, которые вы хотите удалить из этой строки.

Создание пользовательской функции очистки текста в Power Query

Вернемся к нашей функции очистки текста.

Создание пользовательской функции очистки текста в Power Query

К. Remove создал эти два списка, а затем объединил их вместе в один список.

Создание пользовательской функции очистки текста в Power Query

А затем давайте вставим переменную CleanText. Предложение 'in' вызывает функцию M Text.Remove и передает переменную myText, а затем вызывает список To.Remove. Давайте посмотрим, что это делает.

Создание пользовательской функции очистки текста в Power Query

Вернемся к нашему запросу. Это больше не возвращает список, но возвращает некоторые текстовые значения.

Создание пользовательской функции очистки текста в Power Query

Обрезка в Power Query

Следующий шаг – обрезка . Как вы можете видеть на изображении выше, у нас есть несколько дополнительных пробелов и запятая в конце, от которых мы хотим избавиться. Для этого мы можем использовать функции обрезки. Вернемся к запросу, чтобы изучить М-код.

В код М я вложил 2 функции обрезки. Первая строковая функция удаляет дополнительные пробелы в начале и в конце нашей переменной CleanText.

Создание пользовательской функции очистки текста в Power Query

Для оставшихся текстов, которые у нас есть, мы также удалим пробелы из строки результата.

Мы также удалим завершающую запятую.

Создание пользовательской функции очистки текста в Power Query

Посмотрим на результат. Я собираюсь скопировать имя переменной, вставить его после предложения «in» и нажать «Готово». Когда мы обновим наш запрос, вы увидите, что дополнительные пробелы исчезли, а завершающая запятая была удалена.

Создание пользовательской функции очистки текста в Power Query

На последних шагах моего запроса я просто заменил некоторые текстовые значения.

Создание пользовательской функции очистки текста в Power Query

В последнем случае я заменил это подчеркивание пробелом. Давайте скопируем это и вставим после предложения «in». Я также снова включил возвращаемый тип.

Создание пользовательской функции очистки текста в Power Query

Вернемся к нашему запросу и посмотрим на результаты — пока все хорошо!

Создание пользовательской функции очистки текста в Power Query

Теперь мы не хотим создавать новые столбцы для вызова нашей функции, верно? Вместо этого мы можем преобразовать наш столбец 1 в наш столбец слияния.

Я собираюсь удалить этот шаг пользовательского столбца.

Создание пользовательской функции очистки текста в Power Query

Затем я собираюсь использовать пользовательский интерфейс, чтобы создать большую часть кода для нас. На вкладке «Преобразование» выберите оба столбца, перейдите в «Формат» и выберите функцию.

Создание пользовательской функции очистки текста в Power Query

На самом деле не имеет значения, какая функция выбрана, потому что это M-код, который генерируется пользовательским интерфейсом. Теперь мы можем заменить этот текст. Нижняя функция…

Создание пользовательской функции очистки текста в Power Query

… с нашей функцией чистого текста. Надеюсь, вы поняли, почему мне пришлось добавить fx впереди. Нет никакой «в функции», которая начинается с этого.

Создание пользовательской функции очистки текста в Power Query

Когда мы нажимаем OK, вы можете видеть, что наши тексты были очищены. Это круто.

Создание пользовательской функции очистки текста в Power Query

Заключение

Почему нам пришлось преодолевать все трудности при создании пользовательской функции очистки? Что ж, если вам, вероятно, придется повторить этот шаг или использовать подобную логику в будущем, вы можете сохранить этот запрос функции.

Это ускорит разработку запроса на более позднем этапе. Еще одна веская причина заключается в том, что это также весело делать.

Надеюсь, вам понравился этот урок. Если да, не забудьте подписаться на канал LuckyTemplates .

Мелисса


Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать