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