Если вы знакомы с использованием функций Excel (а вы, конечно, должны быть знакомы), то вы знаете, что функция обычно принимает входные данные и выдает выходные данные.
В качестве входных данных, например, может выступать диапазон, число или фрагмент текста. Тип вывода может быть разным: функция SUM выводит число, LEFT – строку.
Пользовательская функция в Power Query работает аналогичным образом, входные данные дают выходные, но пользовательская функция позволяет нам произвести вычисления для каждой строки в столбце или столбцах и создать новый столбец из этих результатов.
Пользовательская функция – это просто тип запроса, содержащий шаги, как и любой другой запрос, и может быть написана для выполнения сложных задач, таких как поиск данных с веб-страниц или получение данных из базы данных.
В принципе, это может быть любая серия шагов, которую вы захотите повторить для заданного набора входных данных.
Пользовательская функция для возведения числа в квадрат
Допустим, у нас есть столбец чисел в таблице, и мы хотим вычислить квадраты этих чисел.
Щелкните по таблице, а затем создайте новый запрос: “Данные” -> “Из таблицы/диапазона”.
Таблица будет загружена в Power Query
Создайте новый пустой запрос: щелкните правой кнопкой мыши в области Запросы -> Новый запрос -> Другие источники -> Пустой запрос
Щелкните правой кнопкой мыши на новом запросе и выберите “Расширенный редактор”.
Чтобы создать нашу функцию, нам нужно указать входной параметр и написать шаги для вычисления нашего результата.
Наш вход задается строкой (Thenumber как number) => это означает, что этот запрос будет принимать входные данные, которые будут называться “Thenumber ” и будут иметь тип число.
Чтобы вычислить квадрат “Thenumber”, мы просто умножим его на себя.
Нажмите кнопку Готово, и вы увидите на экране, что можно ввести параметр (вход) для проверки функции. Введите любое число и нажмите “Вызвать”.
Нам не нужен этот вызванный запрос функции, поэтому щелкните на нем правой кнопкой мыши и удалите его.
Затем щелкните правой кнопкой мыши на функции с именем Запрос1 и переименуйте ее в fxSquared.
Использование пользовательской функции в пользовательском столбце
Выбрав запрос “Номера”, нажмите на вкладку “Добавление столбца”, а затем выберите пункт “Настраиваемый столбец”, и у вас появится диалоговое окно.
Начните вводить в поле формулы fx, и появится подсказка, показывающая нашу пользовательскую функцию. Нажмите TAB или щелкните по имени функции, чтобы ввести ее в формулу.
Теперь нам нужно ввести в функцию аргумент, которым будет число из столбца Номер. Введите (, а затем дважды щелкните на “Номер” в списке доступных столбцов. Если бы в нашей таблице было более 1 столбца, то все они были бы перечислены здесь для выбора.
Теперь закройте круглые скобки ), нажмите OK, чтобы создать пользовательский столбец.
Закройте и загрузите запрос на рабочий лист.
Добавление столбца путем вызова пользовательской функции
Вы можете достичь того же результата, вызвав пользовательскую функцию: “Добавление столбца” -> “Вызвать настраиваемую функцию”
Надеюсь, вы узнали для себя что-то новое относительно пользовательских функций Power Query.