Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

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

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

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

Оглавление

Использование расширенного редактора Power Query и M-функций

Я создам ссылку на образец запроса и добавлю настраиваемый столбец, в котором мы сможем построить нашу логику.

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

Первое, что я собираюсь сделать, это разделить этот текстовый столбец. Итак, мы воспользуемся функцией Text.Split , а затем поместим открывающую скобку. Ему нужен текст, поэтому мы можем указать на наш столбец Text. Далее ему нужен разделитель в виде текста. Таким образом, между набором двойных кавычек мы можем добавить эту точку с запятой, затем закрыть круглую скобку и нажать OK.

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

И при этом он дает нам список с разделенными текстовыми значениями.

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

Нам все еще нужно немного почистить, потому что в этих текстовых строках могут быть некоторые начальные или конечные пробелы, и нам нужно избавиться от них. Это означает, что мы должны изменить содержимое каждого из этих списков, и для этого есть М-функция, называемая List.Transform .

Итак, в строке формул я добавлю List.Transform. Он хочет список, и мы дали его, затем поставьте запятую. Далее идет трансформация, поэтому мы хотим обрезать эти тексты. Итак, я добавлю Text.Trim , затем закрывающую скобку и нажму OK.

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

Теперь давайте откроем окно расширенного редактора Power Query, потому что, как я уже сказал, я хочу разбить его на очень маленькие части. Я буду использовать переменные для хранения промежуточных результатов для каждого из шагов.

Мы можем создать набор переменных, разделенных запятыми, внутри выражения let . Я назову первый шаг как ListTexts . Эта последняя закрывающая скобка относится к нашей таблице, в которую добавлены функции столбцов, поэтому переместите ее также на новую строку. В конце этого первого выражения мы должны поставить запятую, чтобы мы могли добавить новое выражение прямо здесь.

Затем мы создаем новое имя переменной, которое я называю FindPositions . Вся струна была разделена и очищена. Все, что нам нужно сделать, это найти место для строки, которую мы ищем. Для этого мы будем использовать функцию под названием ListPositionOf . Добавьте открывающую скобку, и мы сможем вернуть уже созданную нами переменную (ListTexts).

Затем мы помещаем значение, которое мы ищем, и это две заглавные буквы «А». Аналогом let является предложение in , поэтому нам нужно добавить его и вернуть в FindPositions . Затем нажмите Готово.

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

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

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

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

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

Нам еще нужно вернуться на одну позицию. Итак, в расширенном редакторе мы можем использовать List.Transform , чтобы помочь нам.

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

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

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

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

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом

И вот как вы можете извлекать строки перед определенным текстом с помощью полностью закодированного решения.

Использование расширенного редактора Power Query для извлечения значений перед определенным текстом


Данные с разделителями — извлечение записей с помощью LuckyTemplates.
Извлечение значений из записей и списков в Power Query.
Динамическое отключение нескольких столбцов в LuckyTemplates.

Заключение

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

Всего наилучшего!

Мелисса


Что такое 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? Все, что тебе нужно знать