Създаване и извикване на функция по избор

Отнася се за
Excel за Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Функцията по избор използва езика за формули M, приема набор от входни стойности и след това връща една изходна стойност. Ако имате логика, която искате да използвате многократно или да приложите един и същ набор от трансформации към различна заявка или стойност, помислете за създаване на функция по избор и след това да я извиквате, когато и когато ви потрябва. Има няколко начина за създаване на функция по избор:

Създаване и извикване на проста функция по избор с Разширен редактор

Следва прост пример за потребителска функция, която следва отдавнашна традиция в програмиране.

  1. За да създадете празна заявка:

    Excel Избор на данни>Получаване на данни>от други източници>празна заявка.

    Power Query Щракнете с десния бутон върху празно място в екрана за заявки отляво и след това изберете "Нова заявка>"Други източници>Празна заявка.

  2. В екрана за заявки вляво щракнете двукратно върху името и след това преименувайте новата празна заявка на "HelloWorld".

  3. Изберете новата заявка и след това изберете HomeРазширен> редактор.

  4. Заместете началния код на шаблона със следния код:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Изберете Готово.

  6. Променили сте заявката "HelloWorld" във функция по избор. Обърнете внимание на иконата за функция " вляво от нея.

  7. За да извикате функцията, изберете я и след това изберете "Извикване във визуализацията на данни".

    Извикване на функцията по избор HelloWorld

  8. Резултатите от функцията се показват във визуализацията на данни и се добавят в екрана за заявки като заявка с името по подразбиране – извикана функция. Можете да я преименувате на нещо по-смислено, като например "HelloWorldResult".

  9. Изберете тази заявка и след това изберете "Начало">Затворете & заредите , за да видите резултатите в работен лист.

Резултати

Резултати от HelloWorld в работен лист

Създаване и извикване на потребителска функция, която има параметър, с Разширен редактор

Примерът по-долу показва как да подадете параметър във функция по избор, за да преобразувате десетично число в шестнадесетично.

  1. За да създадете празна заявка:

    Excel Избор на данни>Получаване на данни>от други източници>празна заявка.

    Power Query Щракнете с десния бутон върху празно място в екрана за заявки отляво и след това изберете "Нова заявка>"Други източници>Празна заявка.

  2. В екрана за заявки отляво преименувайте новата празна заявка на "MyHex".

  3. Изберете новата заявка и след това изберете HomeРазширен> редактор.

  4. Заместете началния код на шаблона със следния код:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Изберете Готово.

  6. Променили сте заявката "MyHex" във функция по избор. Обърнете внимание на иконата за функция " вляво от нея.

  7. За да извикате функцията, изберете я, след което във "Визуализация на данни" въведете число в полето "Параметър1 " и изберете "Извикване".
    Извикване на функцията по избор MyHex

  8. Резултатите от функцията се показват във визуализацията на данни и се добавят в екрана за заявки като заявка с името по подразбиране – извикана функция. Можете да я преименувате на нещо по-смислено, като например "MyHexResult".

  9. Изберете тази заявка и след това изберете "Начало">Затворете & заредите , за да видите резултатите в работен лист.

Резултати

Резултат от функцията MyHex в работен лист

Добавяне на колона чрез извикване на функция по избор

Ако сте създали функция с поне един параметър, можете да го извикате като функция по избор, за да създадете нова колона и нова стойност за всеки ред в таблицата.

  1. За да отворите заявка, намерете предварително заредена заявка от Редактор на Power Query, изберете клетка в данните и след това изберете "Редактиране на заявка>". За повече информация вижте "Създаване, редактиране и зареждане на заявка в Excel (Power Query)".

    Забележка За този пример вашата заявка се нуждае от поне една колона от типа данни "Цяло число ".

  2. Създайте потребителската функция "MyHex", както е обяснено в раздела, Създаване и извикване на потребителска функция, която има параметър с Разширен редактор.

  3. В заявката изберете "Добавяне на колона>","Извикайте функцията по избор". Появява се диалоговият прозорец "Извикване на потребителска функция ".

  4. Въведете името на новата колона, например "HexConvert", в полето за име на нова колона .

  5. Изберете името на предварително дефинирана функция по избор от падащия списък Заявка за функция. В този пример изберете "MyHex".

  6. Тъй като функцията по избор препраща към параметър, параметърът сега се показва.

  7. Изберете колона от типа данни "Цяло число " като параметър на функцията.

    Диалоговият прозорец за извикване на потребителска функция

  8. Изберете OK.

Резултат

Създава се нова колона, която показва шестнадесетичната стойност на колоната от "Цяло число", която сте въвели като параметър.

Новата MyHex колона със стойности в работен лист

Вж. също

Помощ за Power Query за Excel

Създаване на формули на Power Query в Excel

Създаване на параметризирана заявка.

Управление на заявки

Разбиране на функциите Power Query M (docs.com)

Използване на функции по избор (docs.com)