Потребителската функция използва езика на формулата M, приема набор от входни стойности и след това връща една изходна стойност. Ако имате логика, която искате да използвате многократно, или да приложите един и същ набор от трансформации към друга заявка или стойност, помислете за създаване на потребителска функция и след това извикване на функцията къде и кога имате нужда от нея. Има няколко начина за създаване на потребителска функция:
-
Използвайте Разширен редактор, за да добавите свое собствено извлечение и да започнете от самото начало.
-
Използвайте командата Извикване на потребителска функция .
-
Има допълнителни начини за създаване на функции, които не са обсъдени в тази помощна тема, включително командите Създаване на функция и Добавяне като заявка . За по-задълбочено обсъждане вж. Разбиране на функциите Power Query M (docs.com)и Използване на функции по избор (docs.com).
По-долу е прост пример за потребителска функция, която следва дългогодишна програмна традиция.
-
За да създадете празна заявка:Избиране на данни в Excel> Получаване на данни > От други източници > празна заявка.Power Query Щракнете с десния бутон върху празно място в прозореца Заявки вляво и след това изберете Нова заявка > Други източници > Празна заявка.
-
В прозореца Заявки отляво щракнете двукратно върху името и след това преименувайте новата празна заявка на "HelloWorld".
-
Изберете новата заявка и след това изберете Начало > Разширен редактор.
-
Заместете началния код на шаблона със следния код:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Изберете Готово.
-
Променили сте заявката "HelloWorld" на функция по избор. Обърнете внимание, че иконата на функцията
отляво на нея. -
За да извикате функцията, изберете я и след това изберете Извикване във визуализацията на данни.
-
Резултатите от функцията се показват във Визуализация на данни и се добавят към екрана Заявки като заявка с името по подразбиране Извикана функция. Може да искате да го преименувате на нещо по-смислено, като например "HelloWorldResult".
-
Изберете тази заявка и след това изберете Начало > Затвори & Зареждане , за да видите резултатите в работен лист.
Резултати
Следващият пример показва как да предадете параметър на потребителска функция, за да преобразувате десетично число в шестнадесетично.
-
За да създадете празна заявка:Избиране на данни в Excel> Получаване на данни > От други източници > празна заявка.Power Query Щракнете с десния бутон върху празно място в прозореца Заявки вляво и след това изберете Нова заявка > Други източници > Празна заявка.
-
В екрана Заявки отляво преименувайте новата празна заявка на "MyHex".
-
Изберете новата заявка и след това изберете Начало > Разширен редактор.
-
Заместете началния код на шаблона със следния код:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Изберете Готово.
-
Променили сте заявката "MyHex" на потребителска функция. Обърнете внимание, че иконата на функцията
отляво на нея. -
За да извикате функцията, изберете я и след това в Визуализация на данни въведете число в полето параметър1 и изберете Извикване.
-
Резултатите от функцията се показват във Визуализация на данни и се добавят към прозореца Заявки като заявка с името по подразбиране Извикана функция. Може да искате да го преименувате с нещо по-смислено, като например "MyHexResult".
-
Изберете тази заявка и след това изберете Начало > Затвори & Зареждане , за да видите резултатите в работен лист.
Резултати
Ако сте създали функция с поне един параметър, можете да я извикате като потребителска функция, за да създадете нова колона и нова стойност за всеки ред в таблицата.
-
За да отворите заявка, намерете такава, която преди това е заредена от Редактор на Power Query, изберете клетка в данните и след това изберете Заявка > Редактиране. За повече информация вижте Създаване, редактиране и зареждане на заявка в Excel (Power Query).Бележка За този пример вашата заявка се нуждае от поне една колона от тип данни "Цяло число" .
-
Създайте потребителската функция "MyHex", както е обяснено в раздела Създаване и извикване на потребителска функция, която има параметър с Разширен редактор.
-
В заявката изберете Добавяне на колона > Извикване на потребителска функция. Появява се диалоговият прозорец Извикване на потребителска функция .
-
Въведете новото име на колона, като например "HexConvert", в полето Име на нова колона .
-
Изберете името на предварително дефинирана потребителска функция от падащия списък заявка за функция. В този пример изберете "MyHex".
-
Тъй като потребителската функция препраща към параметър, параметърът сега се показва.
-
Изберете колона от тип данни "Цяло число" като параметър на функцията.
-
Изберете OK.
Result
Създава се нова колона, която показва шестнадесетичната стойност на колоната "Цяло число", която сте въвели като параметър.
Вж. също
Създаване на формули на Power Query в Excel
Създаване на параметризирана заявка.