Створення й виклик спеціальної функції

Застосовується до
Excel для Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

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

Створення та виклик простої спеціальної функції за допомогою Розширений редактор

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

  1. Щоб створити пустий запит:

    Програма Excel Вибір даних>Отримання даних>з інших джерел>Пустий запит.

    Power QueryPower Query Клацніть правою кнопкою миші пусте місце в області "Запити" ліворуч і виберіть "Новий запит">Пустий запит "Інші джерела>".

  2. В області запитів ліворуч двічі клацніть ім'я, а потім перейменуйте новий пустий запит на "HelloWorld".

  3. Вибираємо новий запит, а потім обираємо HomeAdvanced>EditorРозширений редактор.

  4. Замініть початковий код шаблону на такий код:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Натисніть кнопку Готово.

  6. Ви змінили запит "HelloWorld" на спеціальну функцію. Зверніть увагу на піктограму функції Піктограма функції ліворуч від неї.

  7. Щоб викликати функцію, виберіть її, а потім натисніть " Викликати " в режимі попереднього перегляду даних.

    Виклик спеціальної функції HelloWorld

  8. Результати функції відображаються в режимі попереднього перегляду даних і додаються до області запитів як запит із задіяною за замовчуванням назвою " Викликана функція". Ви можете перейменувати його на зрозуміліше, наприклад "HelloWorldResult".

  9. Виберіть цей запит, а потім виберіть " Головна>& Завантажити ", щоб переглянути результати на аркуші.

Результати.

Результати HelloWorld на аркуші

Створення та виклик спеціальної функції, яка містить параметр у Розширений редактор

У наведеному нижче прикладі показано, як передати параметр спеціальній функції, щоб перетворити десяткове число на шістнадцяткове.

  1. Щоб створити пустий запит:

    Програма Excel Вибір даних>Отримання даних>з інших джерел>Пустий запит.

    Power QueryPower Query Клацніть правою кнопкою миші пусте місце в області "Запити" ліворуч і виберіть "Новий запит">Пустий запит "Інші джерела>".

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

  3. Вибираємо новий запит, а потім обираємо HomeAdvanced>EditorРозширений редактор.

  4. Замініть початковий код шаблону на такий код:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Натисніть кнопку Готово.

  6. Ви змінили запит "MyHex" на спеціальну функцію. Зверніть увагу на піктограму функції Піктограма функції ліворуч від неї.

  7. Щоб викликати функцію, виберіть її, а потім у режимі попереднього перегляду даних введіть число в полі параметр1 і натисніть кнопку Викликати (Викликати).
    Виклик спеціальної функції MyHex

  8. Результати функції відображаються в режимі попереднього перегляду даних і додаються до області запитів як запит із задіяною за замовчуванням назвою " Викликана функція". Ви можете перейменувати його на щось зрозуміліше, наприклад "MyHexResult".

  9. Виберіть цей запит, а потім виберіть " Головна>& Завантажити ", щоб переглянути результати на аркуші.

Результати.

Результат функції MyHex на аркуші

Додавання стовпця за допомогою виклику спеціальної функції

Якщо ви створили функцію принаймні з одним параметром, ви можете викликати її як спеціальну функцію для створення нового стовпця та нового значення для кожного рядка в таблиці.

  1. Щоб відкрити запит, знайдіть запит, попередньо завантажений із Редактор Power Query, виберіть клітинку в даних, а потім натисніть кнопку "Редагувати запит".> Докладні відомості див. в статті "Створення, редагування та завантаження запиту у програмі Excel (Power QueryPower Query)".

    Примітка Для цього прикладу запиту потрібен принаймні один стовпець із цілим числом .

  2. Створення спеціальної функції "MyHex", як описано в розділі "Створення та виклик спеціальної функції, яка має параметр із Розширений редактор.

  3. У запиті виберіть "Додати стовпець>"Викликати спеціальну функцію. Відкриється діалогове вікно " Виклик спеціальної функції ".

  4. У поле "Ім'я нового стовпця " введіть ім'я нового стовпця, наприклад "HexConvert".

  5. Виберіть ім'я попередньо визначеної спеціальної функції в розкривному списку запитів функцій. У цьому прикладі виберіть "MyHex".

  6. Оскільки спеціальна функція посилається на параметр, параметр тепер відображається.

  7. Виберіть стовпець із типом даних " Ціле число" як параметр функції.

    Діалогове вікно

  8. Натисніть кнопку OK.

Результат

Буде створено новий стовпець із шістнадцятковим значенням стовпця "Ціле число", введеного як параметр.

Новий стовпець значень MyHex на аркуші

Додаткові відомості

Power QueryДовідка з надбудови Power Query для програми Excel

Створення формул Power Query в програмі Excel

Створення параметризованого запиту

Керування запитами

Загальні відомості Power Query функцій M (docs.com)

Використання спеціальних функцій (docs.com)