Спеціальна функція використовує мову формул M, отримує набір вхідних значень і повертає одне вихідне значення. Якщо є логіка, яку потрібно повторювати багато разів або застосувати той самий набір перетворень до іншого запиту або значення, варто створити спеціальну функцію та викликати її там, де потрібно. Спеціальну функцію можна створити кількома способами:
- Використовуйте Розширений редактор, щоб додати власну інструкцію let і почати з нуля.
- Використання команди виклику спеціальної функції .
- Існують інші способи створення функцій, які не обговорювалися в цьому розділі довідки, зокрема команди "Створити функцію " та " Додати як запит ". Докладні відомості див. в статтях "Основні відомості Power Query про функції M" і використання спеціальних функцій.
Створення та виклик простої спеціальної функції за допомогою Розширений редактор
У прикладі нижче наведено просту спеціальну функцію, яка відповідає давнім традиціям програмування.
Створіть пустий запит.
Програма 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 і натисніть кнопку Викликати.
Результати функції з'являться в режимі попереднього перегляду даних. Power QueryНадбудова Power Query додає результати до області запитів як запит із задіяною функцією за замовчуванням. Можливо, ви захочете перейменувати його на щось зрозуміліше, наприклад
MyHexResult.Виберіть цей запит, а потім виберіть " Головна>& Завантажити ", щоб переглянути результати на аркуші.
Результати.
Додавання стовпця за допомогою виклику спеціальної функції
Якщо ви створюєте функцію принаймні з одним параметром, ви можете викликати її як спеціальну функцію, щоб створити новий стовпець і нове значення для кожного рядка в таблиці.
Щоб відкрити запит, знайдіть запит, попередньо завантажений із Редактор Power Query, виберіть клітинку в даних, а потім натисніть кнопку "Редагувати запит".> Докладні відомості див. в статті "Створення, редагування та завантаження запиту у програмі Excel (Power QueryPower Query)".
Примітка.
Для цього прикладу запиту потрібен принаймні один стовпець із цілим числом .
Створення
MyHexспеціальної функції описано в розділі "Створення та виклик спеціальної функції, яка має параметр у Розширений редактор".У запиті виберіть "Додати стовпець>"Викликати спеціальну функцію. Відкриється діалогове вікно " Виклик спеціальної функції ".
Введіть ім'я нового стовпця, наприклад
HexConvert, у поле " Ім'я нового стовпця ".Виберіть ім'я попередньо визначеної спеціальної функції в розкривному списку запитів функцій. У цьому прикладі виберіть
MyHex.Оскільки спеціальна функція посилається на параметр, параметр тепер відображається.
Виберіть стовпець із типом даних " Ціле число" як параметр функції.
Натисніть кнопку OK.
Результат
Буде створено новий стовпець із шістнадцятковим значенням стовпця "Ціле число", введеного як параметр.
Додаткові відомості
Power QueryДовідка з надбудови Power Query для програми Excel
Створення параметризованого запиту (Power QueryPower Query)
Керування запитами (Power QueryPower Query; Power Query)