Hodeiko fluxuen adierazpenen sukaldaritza-liburua

Artikulu honek erabiltzeko prest dauden 30 adierazpen eredu azaltzen ditu Power Automate hodeiko fluxuetan agertoki arruntetarako. Eredu horiek kopiatu, egokitu eta erabil ditzakezu zure fluxuetan.

Oharra

Adierazpen hauek Power Automate hodeiko fluxuaren lizentzia maila guztietan funtzionatzen dute. Bilatu funtzio-erreferentzia osoa Lan-fluxuaren adierazpen-funtzioetan.

Testu-eragiketak

1. Bihurtu maiuskulara edo minuskulara

Agertokia: normalizatu erabiltzailearen sarrera konparazioaren edo biltegiratzearen aurretik.

Adierazpena: toUpper(variables('input')) edo toLower(variables('input'))

Adibidea: toLower('John.Smith@Contoso.COM') itzultzen du john.smith@contoso.com

Garrantzitsua da

toUpper() Maiuskulak eta minuskulak bereizten ditu konparazioetan erabiltzen denean. Erabiltzen toUpper(A) = Bbaduzu, ziurtatu bi aldeetan aplikatzen duzula. toUpper(A) = B Huts egiten du B maiuskula mistoa bada.

2. Atera azpikatea (ezkerrean, eskuinean, erdian)

Agertokia: atera zati zehatz bat testu-balio batetik. Eskuratu lehenengo N karaktereak, azken N edo erdiko barruti bat.

Adierazpena:

  • Ezkerrean: substring(variables('text'), 0, 5)
  • Eskuinean: substring(variables('text'), sub(length(variables('text')), 5), 5)
  • Erdialdea: substring(variables('text'), 3, 4)

Adibidea: substring('Invoice-2026-0042', 8, 4) itzultzen du 2026

Eskupekoa

Bigarren parametroa hasierako indizea da (0-oinarrituta), hirugarrena luzera da, ez amaierako indizea. substring('ABCDE', 1, 3) Itzultzen BCDda, ez BC.

3. Ordeztu testua

Agertokia: Garbitu edo eraldatu testuaren balioak. Karaktereak kendu, mugatzaileak trukatu, formatua konpondu.

Adierazpena: replace(variables('input'), 'old', 'new')

Adibidea: replace('2026/03/18', '/', '-') itzultzen du 2026-03-18

Oharra

replace() Maiuskulak eta minuskulak bereizten ditu. replace('Hello', 'hello', 'Hi') Aldatu gabe itzultzen da Hello . Lehenik eta behin, behar izanez gero kasu arrunt batera bihurtu.

4. Zatitu katea matrizean

Eszenatokia: Zatitu mugatutako balio bat (CSV, puntu eta komaz bereizitako mezu elektronikoak) elementu indibidualetan begizta egiteko.

Adierazpena: split(variables('input'), ',')

Adibidea: split('alice@contoso.com,bob@contoso.com,carol@contoso.com', ',') itzultzen du ["alice@contoso.com","bob@contoso.com","carol@contoso.com"]

Eskupekoa

Mugatzailearen ondorengo zuriuneak gordetzen dira. split('a, b, c', ',') Espazio nagusiekin itzultzen ["a"," b"," c"] da. Erabili trim() elementu bakoitzean ondoren Hautatu ekintzan.

5. Konkateatu lerro-jauziekin (mezu elektronikoetarako)

Agertokia: Eraiki lerro anitzeko mezuaren gorputza posta elektronikoko edo Teams-en jakinarazpenetarako.

Adierazpena: concat('Line 1', decodeUriComponent('%0A'), 'Line 2')

Adibidea: Erabili decodeUriComponent('%0A') lerro berri baterako, edo decodeUriComponent('%0D%0A') Windows estiloko lerro-jauzietarako.

Garrantzitsua da

Adierazpenetan zuzenean erabiltzeak \n ez du lerro-jauzirik sortzen. Karaktere \nliteralak sortzen ditu. Erabili beti planteamendua decodeUriComponent , edo erabili <br> irteera HTML bada.

6. Egiaztatu kateak testua duen

Agertokia: bideratu fluxu bat gai-lerroak, mezu elektronikoaren gorputzak edo eremuak gako-hitz bat duen ala ez kontuan hartuta.

Adierazpena: contains(toLower(triggerBody()?['subject']), 'urgent')

Adibidea: contains('Project Alpha Review', 'Alpha') itzultzen du true

Oharra

contains() Maiuskulak eta minuskulak bereizten ditu. Beti bildu lasto-pila eta orratz maiuskulak toLower() eta minuskulak parekatzeko: contains(toLower(value), toLower(search)).

Data eta ordua

7. Lortu uneko data / ordua formatu zehatz batean

Agertokia: zigilatu fitxategi-izena, egunkari-sarrera edo mezu elektronikoa uneko data eta orduarekin.

Adierazpena: formatDateTime(utcNow(), 'yyyy-MM-dd HH:mm')

Adibidea: Itzulketak 2026-03-18 14:30 (UTC). Tokiko ordua erabiltzea convertTimeZone() .

Eskupekoa

utcNow() Beti UTC da. Tokiko ordua, katea convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time', 'yyyy-MM-dd HH:mm').

8. Gehitu edo kendu egunak data batetik

Eszenatokia: Kalkulatu mugaeguna, iraungitze-data edo oroigarri-data gaurkoarekin erlatiboa.

Adierazpena: addDays(utcNow(), 7) edo addDays(utcNow(), -30)

Adibidea: Gaur bada, 2026-03-18itzultzen addDays(utcNow(), 7) da 2026-03-25T...Z

Oharra

addDays() Balio zatikatuak ere onartzen ditu, baina addHours() edo addMinutes() argiagoak dira azpieguneko desplazamenduetarako. Ez erabili addDays(utcNow(), 0.5) esan nahi duzunean addHours(utcNow(), 12).

9. Bihurtu katea datara (analisi)

Eszenatokia: testu-eremu batek data bezalako 03/18/2026 bat dauka eta data funtzioetan erabili behar duzu.

Adierazpena: parseDateTime(variables('dateString'), 'en-US')

Adibidea: parseDateTime('03/18/2026', 'en-US') datetime balio egokia itzultzen du.

Garrantzitsua da

Lokal parametrorik gabe, analisia fluxuaren eskualdeko ezarpenen araberakoa da eta hilabete/eguna truka dezake. Beti zehaztu lokala esplizituki apirilaren 3 vs. martxoaren 4 bezala interpretatzea saihesteko 03/04/2026 .

10. Lortu asteko eguna

Eszenatokia: Exekutatu logika desberdina astegunetan eta asteburuetan, edo sortu "asteleheneko txostena".

Adierazpena: dayOfWeek(utcNow())

Adibidea: Itzulketak 0 iganderako, astelehenerako 1 , larunbaterako 6 .

Eskupekoa

Igandea da 0, ez 7. Asteburuko txekeetarako erabiltzea or(equals(dayOfWeek(...), 0), equals(dayOfWeek(...), 6)) . Larunbata bezalako baldintza dayOfWeek(utcNow()) > 5 bat harrapatzen da, baina igandean falta da.

11. Kalkulatu bi dataren arteko aldea

Eszenatokia: Zehaztu zenbat egun igaro diren eskaera data baten eta amaiera-dataren artean.

Adierazpena: div(sub(ticks(variables('endDate')), ticks(variables('startDate'))), 864000000000)

Adibidea: Hasiera bada 2026-03-01 eta amaiera 2026-03-18bada, itzultzen 17da.

Oharra

Ez funtzio integraturik dateDiff() . Ticks planteamendua erabili behar duzu. Zatitzaileak 864000000000 tik-tak egun bihurtzen ditu. Ordu luzez, erabili 36000000000; minutu batzuetarako, erabili 600000000.

12. Bistaratzeko dataren formatua

Agertokia: bihurtu data-orduaren balioa mezu elektronikoetarako edo txostenetarako gizakiak irakurtzeko moduko formatu batera.

Adierazpena: formatDateTime(variables('myDate'), 'MMMM dd, yyyy') edo formatDateTime(variables('myDate'), 'MM/dd/yyyy')

Adibidea: formatDateTime('2026-03-18T14:30:00Z', 'MMMM dd, yyyy') itzultzen du March 18, 2026

Garrantzitsua da

MM Hilabeteak dira, mm minutuak dira. formatDateTime(value, 'mm/DD/yyyy') ekoizten 30/18/2026 du (minutuak eta eguna) ordez 03/18/2026. Erabili dd (minuskulak) hilabeteko egunarentzat.

Matrizeak eta bildumak

13. Iragazi matrize bat baldintzaren arabera

Eszenatokia: irizpide zehatz batekin bat datozen matrize bateko elementuak soilik lortzen ditu.

Adierazpena: erabili 'Iragazki-matrizearen ekintza:' @item()?['Status'] honekin berdina da 'Active'

Adibidea: Sarrerak [{Name:'A', Status:'Active'}, {Name:'B', Status:'Closed'}] itzultzen ditu [{Name:'A', Status:'Active'}]

Oharra

Ezin duzu -estiloko iragazki-adierazpena wherebarnean erabili. Erabili Iragazki-ardalekuaren ekintza (ez adierazpen bat). Adierazpenetan oinarritutako iragazkia egiteko, erabili @equals(item()?['Status'], 'Active') Iragazki-matrizearen modu aurreratuan.

14. Lortu lehenengo edo azken elementua matrizetik

Agertokia: zerrenda batetik eskuratzen du azken erregistroa edo lehenengo bat datorrena.

Adierazpena: first(variables('myArray')) edo last(variables('myArray'))

Adibidea: first(body('Get_items')?['value']) kontsulta SharePoint bateko lehen elementua itzultzen du.

Eskupekoa

first() Matrize huts batean ez da errorea itzultzen null. Jarraitu beti egiaztapen nuluarekin: if(empty(variables('myArray')), null, first(variables('myArray'))).

15. Zenbatu elementuak matrizean

Agertokia: Egiaztatu kontsulta batek zenbat emaitza itzuli dituen, edo egiaztatu zerrenda batek elementu nahikoa dituela.

Adierazpena: length(variables('myArray'))

Adibidea: length(body('Get_items')?['value']) kontsulta SharePoint list bateko elementu kopurua itzultzen du.

Oharra

length() Array eta kateetan funtzionatzen du. length('hello') itzultzen da (karaktere 5 kopurua). Ziurtatu matrize bat pasatzen ari zarela, ez matrize baten itxura duen kate bat.

16. Sortu komaz bereizitako katea matrizetik (elkartu)

Agertokia: Bihurtu izen, mezu elektroniko edo IDen zerrenda mugatutako kate bakar batean bistaratzeko edo API dei baterako.

Adierazpena: join(variables('myArray'), ', ')

Adibidea: join(createArray('Alice', 'Bob', 'Carol'), '; ') itzultzen du Alice; Bob; Carol

Eskupekoa

join() Kate-matrizeetan lan egiten du. Matrizeak objektuak baditu, erabili Hautatu ekintza lehenik nahi duzun eremua ateratzeko, eta, ondoren, batu emaitzarekin.

17. Egiaztatu matrizeak balio bat duen

Eszenatokia: zehaztu elementu zehatz bat zerrenda batean dagoen ala ez aurrera jarraitu aurretik.

Adierazpena: contains(variables('myArray'), 'searchValue')

Adibidea: contains(createArray('North', 'South', 'East', 'West'), 'East') itzultzen du true

Oharra

Objektuen matrizeetan, contains() objektu osoa egiaztatzen du, ez propietate-balio bat. Objekturen batek bat datorren propietaterik duen egiaztatzeko, erabili Iragazi matrizearen ekintza, eta, ondoren, egiaztatu length() emaitza.

JSON eta objektuak

18. Analizatu JSON katea

Agertokia: HTTP ekintza edo konektore pertsonalizatu batek datu egituratu gisa lan egin behar duzun JSON kate bat itzultzen du.

Adierazpena: json(body('HTTP'))

Adibidea: json('{"name":"Alice","age":30}') honekin ?['name']atzitu zaitezkeen objektu bat itzultzen du.

Garrantzitsua da

Ez analizatu bikoitzik. Ekintzak dagoeneko JSON analizatua itzultzen badu (konektore-ekintza gehienek egiten dute), berriro itzultzeak json() errorea eragiten du. Erabili json() kate gordinen erantzunetan soilik, ez dagoeneko objektuak diren ekintzen irteeretan.

19. Lortu JSONen jabetza habiatua

Eszenatokia: Sartu JSON erantzun baten barruan dagoen balio bat, adibidez, response.data.items[0].name.

Adierazpena: body('HTTP')?['data']?['items']?[0]?['name']

Adibidea: For {"data":{"items":[{"name":"Widget"}]}}, itzultzen Widgetdu.

Garrantzitsua da

Ez ahaztu ? nabigazio segurua. body('HTTP')['data']['items'] Errorea sortzen du edozein maila nulua bada. Erabili ?['key'] beti segurtasunez zeharkatzeko: bakoitzak ? nulua itzultzen du, gurasoa falta bada huts egin beharrean.

20. Sortu JSON objektua balioetatik

Agertokia: Eraiki HTTP ekintza baterako eskaeraren gorputza fluxu-aldagaietatik eta eduki dinamikoetatik.

Adierazpena: json(concat('{"name":"', variables('name'), '","status":"', variables('status'), '"}'))

Adibidea: name=Alice eta status=Active-ekin, itzultzen {"name":"Alice","status":"Active"}du.

Eskupekoa

Aldagai batek komatxoak edo karaktere bereziak baditu, JSONa gaizki osatuko da. Eraikuntza sendoa lortzeko, erabili Compose ekintza batekin createObject('name', variables('name'), 'status', variables('status')) edo eraiki zuzenean Compose ekintza batean.

21. Bihurtu objektua kate bihurtzea

Agertokia: erregistratu JSON objektu bat testu-eremu batean, edo pasatu datu egituratuak kate-parametro gisa.

Adierazpena: string(variables('myObject'))

Adibidea: string(json('{"a":1}')) kate gisa itzultzen {"a":1} da.

Oharra

string() Array edo objektu batean JSON trinkoa sortzen du (ez da inprimatze ederra). Ez integraturik prettyPrint(). Onartu JSON trinkoa edo eraiki formatuatutako testua eskuz

22. Kudeatu balio nuluak edo hutsak modu seguruan

Agertokia: saihestu erroreak eremu bat nulua, hutsik edo erabat falta denean.

Adierazpena: coalesce(triggerBody()?['optionalField'], 'default value')

Adibidea: nulua optionalField bada, .'default value' Balio bat baldin badu, balio hori itzultzen du.

Garrantzitsua da

coalesce() heldulekuak nullsoilik, ez kate hutsak. Kate hutsen kasuan, konbinatu baldintza batekin: if(empty(triggerBody()?['field']), 'default', triggerBody()?['field']). Funtzioak empty() true itzultzen du kate ''nulua eta hutsa.

Zenbakiak eta matematika

23. Zenbaki bat biribildu

Agertokia: bistaratzen du ehuneko edo moneta-balio bat hamartar kopuru finko batekin.

Adierazpena: formatNumber(variables('value'), 'N2') (bistaratzeko) edo div(mul(variables('value'), 100), 100) (trunkaziorako)

Adibidea: formatNumber(3.14159, 'N2') kate gisa itzultzen 3.14 da.

Oharra

formatNumber() Kate bat itzultzen du, ez zenbaki bat. Balio biribilduari buruzko matematika gehiago egin behar badituzu, aztertu atzera egiteko: float(formatNumber(variables('value'), 'N2')).

24. Bihurtu katea zenbaki bihurtzea (eta atzera)

Eszenatokia: Inprimaki edo mezu elektroniko batek zenbaki bat ematen dizu testu gisa, eta harekin matematika egin behar duzu.

Adierazpena: int(variables('textNumber')) edo float(variables('textNumber')) eta string(variables('numericValue'))

Adibidea: int('42') itzultzen 42da. float('3.14') itzultzen 3.14da. string(42) itzultzen '42'da.

Garrantzitsua da

int() kate hamartar batean errore bat sortzen da; ez da trunkatzen. Aldagai batek hamartarra eduki badezake, erabili float() lehenengo: int(float(variables('input'))). , adibidez int('3.14'), balio konstanteekin, errorea gordetze-unean harrapatzen da (InvalidTemplate), ez exekuzio-garaian.

25. Kalkulatu ehunekoa

Eszenatokia: Erakutsi zer frakzio den balio bat beste baten (adibidez, osatze-tasa, erabilera).

Adierazpena: mul(div(float(variables('part')), float(variables('total'))), 100)

Adibidea: part=75 eta total=200-ekin, itzultzen 37.5du.

Garrantzitsua da

Osoko zatiketa truncates. div(75, 200) Biak 0 zenbaki osoak direlako. Bihurtu beti lehenengo mugikorra: div(float(75), float(200)) itzultzen 0.375du.

Baldintzak eta logika

26. If/then/else adierazpen batean

Eszenatokia: Baldintza baten arabera balio desberdinak itzultzen ditu, fluxuari Baldintza ekintzarik gehitu gabe.

Adierazpena: if(equals(variables('status'), 'Approved'), 'Proceed', 'Wait')

Adibidea: Egoera bada, Approved. itzultzen Proceeddu. Bestela, itzultzen Waitda.

Oharra

Funtzioak if() ez du eragileak > onartzen <zuzenean. Erabili funtzio laguntzaileak: if(greater(variables('count'), 10), 'Over', 'Under'). Eskuragarri dauden konparazioak: equals(), greater(), less()greaterOrEquals()lessOrEquals(), .

27. Coalesce (lehenengo balio ez-nulua)

Agertokia: Saiatu hainbat eremu eta erabili balio bat duen lehenengoa, adibidez, hobetsia izena, bistaratze-izena, posta elektronikoa.

Adierazpena: coalesce(triggerBody()?['preferredName'], triggerBody()?['displayName'], triggerBody()?['email'], 'Unknown')

Adibidea: preferredName baliogabea bada eta displayName bada, 'Alice'.Alice

Eskupekoa

coalesce()Kateak nullsaltatzen ditu'', baina ez hutsak. Kate huts bat baliozko balio ez-nulua da. Konbinatu laguntzaile batekin kate hutsak ere saltatu behar badira: coalesce(if(empty(A), null, A), if(empty(B), null, B), 'default').

28. Egiaztatu balioa nulua edo hutsik dagoen

Agertokia: Egiaztatu beharrezko eremu batek balio erabilgarria duela prozesatu aurretik.

Adierazpena: empty(variables('input'))

Adibidea: empty('') itzultzen trueda. empty(null) itzultzen trueda. empty('hello') itzultzen falseda.

Garrantzitsua da

empty() Zenbakietan ez du funtzionatzen. empty(0) Akats bat botatzen du. Zenbakiei dagokienez, erabili equals(variables('num'), null) edo egiaztatu mota lehenik.

29. Konparatu datak (A data B dataren ondoren da?)

Eszenatokia: Egiaztatu epe bat igaro den edo gertaera bat beste bat baino lehenago gertatu den.

Adierazpena: greater(ticks(variables('dateA')), ticks(variables('dateB')))

Adibidea: greater(ticks('2026-03-18'), ticks('2026-03-15')) itzulketak true (martxoaren 18a martxoaren 15aren ondoren da).

Garrantzitsua da

Data-kateak zuzenean greater('2026-03-18', '2026-03-15') konparatzeak ISO formatuan (YYYY-MM-DD) funtzionatzen du, lexikografikoki ordenatzen duelako. Beste formatu batzuetan huts egiten du. greater('03/18/2026', '12/01/2025')itzultzen false da zeren0<1. Erabili ticks() beti data konparazio fidagarrietarako.

30. Logika boolearra (AND/OR baldintzetan)

Agertokia: Konbinatu hainbat baldintza adierazpen bakarrean, adibidez, onartutako AND zenbatekoa > 1000.

Adierazpena: and(equals(variables('status'), 'Approved'), greater(variables('amount'), 1000))

Adibidea: egoera berdina bada true eta zenbatekoa 1000 baino handiagoa bada soilik itzultzen Approved du.

Oharra

Ezin da sintaxiarekin kateatuand/or.&&/|| Erabili beti funtzio-forma. Logika konplexua lortzeko, egin itzazu: or(and(A, B), and(C, D)) Irakurgarritasuna degradatu egiten da habia sakonarekin. Horren ordez, erabili Baldintza ekintza errenkada anitzekin.

Erreferentzia azkarreko txartela

Zeregina Expression
Maiuskula toUpper(value)
Minuskulak toLower(value)
Azpikadena substring(value, start, length)
Replace replace(value, old, new)
Split split(value, delimiter)
Dauka (testua) contains(toLower(value), toLower(search))
Orain (formateatuta) formatDateTime(utcNow(), 'yyyy-MM-dd')
Gehitu egunak addDays(date, count)
Asteko eguna dayOfWeek(date) (0=Eguzkia)
Egunak div(sub(ticks(end), ticks(start)), 864000000000)
Lehenengo elementua first(array)
Azken elementua last(array)
Count length(array)
Egin zaitez kide join(array, delimiter)
Analizatu JSON json(stringValue)
Propietate segurua object?['key']
Erreserba nulua coalesce(value, default)
Hutsik empty(value)
Baldin eta/bestela if(condition, trueVal, falseVal)
Konparatu datak greater(ticks(dateA), ticks(dateB))
Int katetik int(stringValue)
Katetik mugitu float(stringValue)
ETA and(condA, condB)
EDO or(condA, condB)

Oharra: Egileak artikulu hau sortu du AIren laguntzarekin. Informazio gehiago