Applies ToExcel для Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Настраиваемая функция использует язык формул M, принимает набор входных значений, а затем возвращает одно выходное значение. Если вы хотите повторно использовать логику или применить один и тот же набор преобразований к другому запросу или значению, можно создать пользовательскую функцию и при необходимости создать ее. Создать пользовательскую функцию можно несколькими способами: 

  • Используйте расширенный редактор, чтобы добавить собственное заявление let и начать с нуля.

  • Используйте команду Вызвать пользовательскую функцию.

  • Существуют дополнительные способы создания функций, которые не рассмотрены в этом разделе справки, включая команды Создать функцию и Добавить как запрос. Подробное обсуждение см. в дополнительных функциях Power Query M (docs.com)и Использование пользовательских функций (docs.com).

Ниже приводится простой пример пользовательской функции, которая следует за давной программированием.

  1. Чтобы создать пустой запрос, Excel Выберите данные> Получить       данные > из других источников > Запрос .Power Query      Щелкните правой кнопкой мыши пустое место в области Запросы слева и выберите новый запрос > другие источники > Запрос.

  2. В области Запросы слева дважды щелкните имя и переименуйте новый пустой запрос в HelloWorld.

  3. Выберите новый запрос и выберите Главная> расширенный редактор.

  4. Замените исходный код шаблона следующим кодом:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Нажмите Готово.

  6. Вы изменили запрос HelloWorld на пользовательскую функцию. Обратите внимание на значок Значок функции слева от нее.

  7. Чтобы вызвать функцию, выберите ее, а затем выберите Вызвать в режиме предварительного просмотра данных.Ссылки на пользовательскую функцию HelloWorld

  8. Результаты функции отображаются в режиме предварительного просмотра данных и добавляются в области Запросы в качестве запроса с именем по умолчанию (Функция Invoked). Вы можете переименовать его, чтобы он был более осмысленным, например HelloWorldResult.

  9. Выберите этот запрос, а затем на ленте> закрыть & загрузить, чтобы увидеть результаты на этом.

Результаты 

Результаты HelloWorld на

В следующем примере показано, как передать параметр настраиваемой функции, чтобы преобразовать десятичной номер в hexadecimal.

  1. Чтобы создать пустой запрос, Excel Выберите данные> Получить       данные > из других источников > Запрос .Power Query      Щелкните правой кнопкой мыши пустое место в области Запросы слева и выберите новый запрос > другие источники > Запрос.

  2. В области Запросы слева переименуйте новый пустой запрос в MyHex.

  3. Выберите новый запрос и выберите Главная> расширенный редактор.

  4. Замените исходный код шаблона следующим кодом:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Нажмите Готово.

  6. Вы изменили запрос "MyHex" на пользовательскую функцию. Обратите внимание на значок Значок функции слева от нее.

  7. Чтобы вызвать функцию, выберите ее, а затем в окне Просмотр данных введите число в поле параметра1 и выберите Вызвать.

    Ссылки на пользовательскую функцию MyHex

  8. Результаты функции отображаются в режиме предварительного просмотра данных и добавляются в области Запросы в качестве запроса с именем по умолчанию (Функция Invoked). Вы можете переименовать его, чтобы он был более осмысленным, например MyHexResult.

  9. Выберите этот запрос, а затем на ленте> закрыть & загрузить, чтобы увидеть результаты на этом.

Результаты 

Результат функции MyHex на

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

  1. Чтобы открыть запрос, найдите ранее загруженную из редактора Power Query, выберем ячейку в данных и выберите запрос> изменить. Дополнительные сведения см. в статьи Создание, изменение и загрузка запроса в Excel (Power Query).Примечание    В этом примере запросу требуется по крайней мере один столбец типа данных "Целое число".

  2. Создайте пользовательскую функцию MyHex, как объясняется в разделе Создание и вызов настраиваемой функции с параметром с расширенным редактором.

  3. В запросе выберите добавить столбец >вызвать пользовательскую функцию. Появится диалоговое окно Вызвать пользовательскую функцию.

  4. В поле Имя нового столбца введите новое имя столбца, например "HexConvert".

  5. Выберите имя предопределяемой настраиваемой функции в перепаде Запрос функции. В этом примере выберите "MyHex".

  6. Так как пользовательская функция ссылается на параметр, он теперь отображается.

  7. Выберите столбец типа данных "Целое число" в качестве параметра функции.Диалоговое окно "Вызвать пользовательскую функцию"

  8. Нажмите кнопку ОК.

Результат

Будет создан новый столбец, в который будет добавлено hexadecimal значение столбца "Целое число", введенного в качестве параметра.

Новый столбец значений MyHex на

См. также

Справка по Power Query для Excel

Создание формул Power Query в Excel

Создание запроса с параметрами

Управление запросами

Функции Power Query M (docs.com)

Использование пользовательских функций (docs.com)

Нужна дополнительная помощь?

Нужны дополнительные параметры?

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

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