Функцията по избор използва езика на формулата 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".
-
Тъй като функцията по избор препраща към параметър, параметърът сега се показва.
-
Изберете колона от тип данни "Цяло число" като параметър на функцията.
-
Изберете ОК.
Резултат
Създава се нова колона, която показва хексадецималната стойност на колоната "Цяло число", която сте въвели като параметър.
Вижте също
Помощ за Power Query Excel Power Query
Създаване на формули на Power Query в Excel
Създаване на параметризирана заявка