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

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

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

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

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

  3. Виберіть новий запит і натисніть кнопку Домашня > Розширений редактор.

  4. Замініть початковий код шаблону таким кодом:

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

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

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

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

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

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

Результати. 

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

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

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

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

  3. Виберіть новий запит і натисніть кнопку Домашня > Розширений редактор.

  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 Query).Примітка    У цьому прикладі для запиту потрібен принаймні один стовпець типу даних "Ціле число ".

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

  3. У запиті виберіть додати стовпець > викликати настроювану функцію. Відкриється діалогове вікно Invoke Custom Function (Викликати настроювану функцію ).

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

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

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

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

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

Результат

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

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

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

Power Query довідки з Excel

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

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

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

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

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

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.