Спеціальна функція використовує мову формул M, отримує набір вхідних значень і повертає одне вихідне значення. Якщо є логіка, яку потрібно повторювати багато разів або застосувати той самий набір перетворень до іншого запиту або значення, варто створити спеціальну функцію та викликати її там, де потрібно. Спеціальну функцію можна створити кількома способами:
- Використовуйте Розширений редактор, щоб додати власну інструкцію let і почати з нуля.
- Використання команди виклику спеціальної функції .
- Існують інші способи створення функцій, які не обговорювалися в цьому розділі довідки, зокрема команди "Створити функцію " та " Додати як запит ". Докладніші відомості див. в статтях "Основні відомості Power Query функцій M (docs.com) і використання спеціальних функцій (docs.com).
Створення та виклик простої спеціальної функції за допомогою Розширений редактор
Нижче наведено простий приклад спеціальної функції, яка має давні традиції програмування.
Щоб створити пустий запит:
Програма Excel Вибір даних>Отримання даних>з інших джерел>Пустий запит.
Power QueryPower Query Клацніть правою кнопкою миші пусте місце в області "Запити" ліворуч і виберіть "Новий запит">Пустий запит "Інші джерела>".
В області запитів ліворуч двічі клацніть ім'я, а потім перейменуйте новий пустий запит на "HelloWorld".
Вибираємо новий запит, а потім обираємо HomeAdvanced>EditorРозширений редактор.
Замініть початковий код шаблону на такий код:
let
HelloWorld = () => ("Hello World")
in
HelloWorldНатисніть кнопку Готово.
Ви змінили запит "HelloWorld" на спеціальну функцію. Зверніть увагу на піктограму
ліворуч від неї.Щоб викликати функцію, виберіть її, а потім натисніть " Викликати " в режимі попереднього перегляду даних.
Результати функції відображаються в режимі попереднього перегляду даних і додаються до області запитів як запит із задіяною за замовчуванням назвою " Викликана функція". Ви можете перейменувати його на зрозуміліше, наприклад "HelloWorldResult".
Виберіть цей запит, а потім виберіть " Головна>& Завантажити ", щоб переглянути результати на аркуші.
Результати.
Створення та виклик спеціальної функції, яка містить параметр у Розширений редактор
У наведеному нижче прикладі показано, як передати параметр спеціальній функції, щоб перетворити десяткове число на шістнадцяткове.
Щоб створити пустий запит:
Програма Excel Вибір даних>Отримання даних>з інших джерел>Пустий запит.
Power QueryPower Query Клацніть правою кнопкою миші пусте місце в області "Запити" ліворуч і виберіть "Новий запит">Пустий запит "Інші джерела>".
В області "Запити " ліворуч перейменуйте новий пустий запит на "MyHex".
Вибираємо новий запит, а потім обираємо HomeAdvanced>EditorРозширений редактор.
Замініть початковий код шаблону на такий код:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexНатисніть кнопку Готово.
Ви змінили запит "MyHex" на спеціальну функцію. Зверніть увагу на піктограму
ліворуч від неї.Щоб викликати функцію, виберіть її, а потім у режимі попереднього перегляду даних введіть число в полі параметр1 і натисніть кнопку Викликати (Викликати).
Результати функції відображаються в режимі попереднього перегляду даних і додаються до області запитів як запит із задіяною за замовчуванням назвою " Викликана функція". Ви можете перейменувати його на щось зрозуміліше, наприклад "MyHexResult".
Виберіть цей запит, а потім виберіть " Головна>& Завантажити ", щоб переглянути результати на аркуші.
Результати.
Додавання стовпця за допомогою виклику спеціальної функції
Якщо ви створили функцію принаймні з одним параметром, ви можете викликати її як спеціальну функцію для створення нового стовпця та нового значення для кожного рядка в таблиці.
Щоб відкрити запит, знайдіть запит, попередньо завантажений із Редактор Power Query, виберіть клітинку в даних, а потім натисніть кнопку "Редагувати запит".> Докладні відомості див. в статті "Створення, редагування та завантаження запиту у програмі Excel (Power QueryPower Query)".
Примітка Для цього прикладу запиту потрібен принаймні один стовпець із цілим числом .
Створення спеціальної функції "MyHex", як описано в розділі "Створення та виклик спеціальної функції, яка має параметр із Розширений редактор.
У запиті виберіть "Додати стовпець>"Викликати спеціальну функцію. Відкриється діалогове вікно " Виклик спеціальної функції ".
У поле "Ім'я нового стовпця " введіть ім'я нового стовпця, наприклад "HexConvert".
Виберіть ім'я попередньо визначеної спеціальної функції в розкривному списку запитів функцій. У цьому прикладі виберіть "MyHex".
Оскільки спеціальна функція посилається на параметр, параметр тепер відображається.
Виберіть стовпець із типом даних " Ціле число" як параметр функції.
Натисніть кнопку OK.
Результат
Буде створено новий стовпець із шістнадцятковим значенням стовпця "Ціле число", введеного як параметр.
Додаткові відомості
Power QueryДовідка з надбудови Power Query для програми Excel
Створення формул Power Query в програмі Excel
Створення параметризованого запиту