Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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) |
Erlazionatutako informazioa
- Hodei-fluxuaren errore-kodearen erreferentzia
- Hodeiko-fluxuaren erroreak konpontzea
- Erabili adierazpenak baldintzetan
- Lan-fluxuaren adierazpen-funtzioen erreferentzia
- Power Automate mugak eta konfigurazioa
Oharra: Egileak artikulu hau sortu du AIren laguntzarekin. Informazio gehiago