Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Dacă ați folosit un alt instrument de programare, cum ar fi Visual Basic sau JavaScript, vă puteți întreba: Unde sunt variabilele? Power Apps este puțin diferit și necesită o abordare diferită. În loc să apelezi la o variabilă atunci când construiești o aplicație pe pânză, întreabă-te: Ce aș face în Excel?
În alte instrumente, este posibil să fi efectuat explicit un calcul și să fi stocat rezultatul într-o variabilă. In orice caz, Power Apps și Excel, recalculează ambele automat formule pe măsură ce datele de intrare se schimbă, astfel încât, de obicei, nu este necesar să creați și să actualizați variabile. Prin această abordare ori de câte ori este posibil, puteți crea, înțelege și întreține mai ușor aplicația.
În unele cazuri, va trebui să utilizați variabile în Power Apps, ceea ce extinde modelul Excel prin adăugarea de formule de comportament. Aceste formule rulează atunci când, de exemplu, un utilizator selectează un buton. În cadrul unei formule comportamentale, este adesea util să setați o variabilă care să fie utilizată în alte formule.
În general, evitați să utilizați variabile. Dar uneori doar o variabilă poate activa experiența dorită. Variabilele sunt implicit create și tastate atunci când apar în funcții care își stabilesc valorile.
Translatați Excel în Power Apps
Excel
Să trecem în revistă modul în care funcționează Excel. O celulă poate conține o valoare, cum ar fi un număr sau un șir, sau o formulă care se bazează pe valorile altor celule. După ce utilizatorul introduce o valoare diferită într-o celulă, Excel recalculează automat orice formule care depind de noua valoare. Nu trebuie să faceți nicio programare pentru a activa acest comportament.
În exemplul următor, celula A3 este setată la formulă A1+A2. Dacă A1 sau A2 se modifică, A3 se recalculează automat pentru a reflecta schimbarea. Acest comportament nu necesită codare în afara formulei în sine.
Excel nu are variabile. Valoarea unei celule care conține o formulă se schimbă în funcție de intrarea sa, dar nu există nicio modalitate de a vă aminti rezultatul unei formule și de a o depozita într-o celulă sau oriunde altundeva. Dacă schimbați valoarea unei celule, întreaga foaie de calcul se poate modifica și toate valorile calculate anterior se pierd. Un utilizator Excel poate copia și lipi celule, dar această operațiune este sub controlul manual al utilizatorului și nu este posibilă cu formule.
Power Apps
Aplicațiile pe care le creați în Power Apps se comportă foarte similar cu Excel. În loc să actualizați celulele, puteți adăuga controale oriunde doriți pe un ecran și să le numiți pentru a fi utilizate în formule.
De exemplu, puteți reproduce comportamentul Excel într-o aplicație adăugând un control Label , numit Label1, și două controale Intrare text , numite TextInput1 și TextInput2. Dacă apoi setați proprietatea Text a Label1 la TextInput1 + TextInput2, aceasta va afișa întotdeauna automat suma numerelor din TextInput1 și TextInput2 .
Observați că este selectat controlul *Label1*, afișând formula *Text* în bara de formule din partea de sus a ecranului. ... Aici găsim formula TextInput1 + TextInput2. Această formulă creează o dependență între aceste controale, la fel cum sunt create dependențe între celule dintr-un registru de lucru Excel. Să schimbăm valoarea TextInput1:
Formula pentru Label1 a fost recalculată automat, arătând noua valoare.
În Power Apps, puteți utiliza formule pentru a determina nu numai valoarea primară a unui control, ci și proprietăți, cum ar fi formatarea. În exemplul următor, o formulă pentru proprietatea Culoare a etichetei va afișa automat valorile negative în roșu. Funcția *If* ar trebui să arate familiară din Excel: ...
If( Value(Label1.Text) < 0, Red, Black )
Puteți utiliza formule pentru o mare varietate de scenarii:
- Utilizând GPS-ul dispozitivului dvs., un control de hartă vă poate afișa locația curentă cu o formulă care folosește Location.Latitude și Location.Longitude. Pe măsură ce vă deplasați, harta vă va urmări automat locația.
- Alți utilizatori pot actualiza sursele de date. De exemplu, alții din echipa ta ar putea actualiza articole într-o listă. Când actualizați un sursă de date, orice formule dependente sunt recalculate automat pentru a reflecta datele actualizate. Continuând exemplul, ați putea seta proprietatea Items a unei galerii la formula Filter( SharePointList ), care va afișa automat setul de înregistrări recent filtrat.
Beneficii
Utilizarea de formule pentru a crea aplicații are multe avantaje:
- Dacă știți Excel, știți Power Apps. Modelul și limbajul formulelor sunt aceleași.
- Dacă ați utilizat alte instrumente de programare, gândiți-vă la cât de mult cod ar fi necesar pentru a realiza aceste exemple. În Visual Basic, ar trebui să scrieți o rutină de tratare a evenimentelor pentru evenimentul de modificare pe fiecare control de introducere text. Codul pentru a efectua calculul în fiecare dintre acestea este redundant și ar putea ieși din sincronizare, sau ar trebui să scrieți o subrutină comună. În Power Apps, ați realizat toate acestea printr-o singură formulă de o singură linie.
- Pentru a înțelege de unde provine textul din Label1, știi exact unde să cauți: formula din proprietatea Text . Nu există altă modalitate de a afecta textul acestui control. Într-un instrument de programare tradițional, orice rutină de tratare a evenimentelor sau subrutină ar putea modifica valoarea etichetei, de oriunde în program. Acest lucru poate face dificil de urmărit când și unde a fost modificată o variabilă.
- Dacă utilizatorul își schimbă un control al glisorului și apoi se răzgândește, poate modifica glisorul înapoi la valoarea sa originală. Și este ca și cum nimic nu s-ar fi schimbat vreodată: aplicația arată aceleași valori de control ca și înainte. Nu există ramificări pentru experimentarea și întrebarea „și dacă”, așa cum nu există în Excel.
În general, dacă puteți obține un efect folosind o formulă, vă veți descurca mai bine. Lăsați generatorul de formule din Power Apps să muncească pentru dvs.
Cum să știți când să folosiți variabilele
Să schimbăm elementul nostru simplu de adăugare pentru a acționa ca o mașină de adăugare de modă veche, cu un total de rulare. Dacă selectați un buton Adăugare, veți adăuga un număr la totalul de rulare. Dacă selectați un buton Golire, veți reseta totalul de rulare la zero.
Afișare | Descriere |
---|---|
![]() |
Când aplicația pornește, numărul total de rulare este 0. Punctul roșu reprezintă degetul utilizatorului în caseta de introducere a textului, în care utilizatorul introduce 77. |
![]() |
Utilizatorul selectează butonul Adăugare. |
![]() |
77 se adaugă la numărul total de rulare. Utilizatorul selectează butonul Adăugare din nou. |
![]() |
77 se adaugă din nou la totalul de rulare, rezultând 154. Utilizatorul selectează butonul Golire. |
![]() |
Totalul de rulare este resetat la 0. |
Mașina noastră de adăugare folosește ceva care nu există în Excel: un buton. În această aplicație, nu puteți utiliza doar formule pentru a calcula totalul de rulare, deoarece valoarea acesteia depinde de o serie de acțiuni întreprinse de utilizator. În schimb, totalul nostru de rulare trebuie să fie înregistrat și actualizat manual. Majoritatea instrumentelor de programare stochează aceste informații într-o variabilă.
Uneori veți avea nevoie de o variabilă pentru ca aplicația dvs. să se comporte așa cum doriți. Dar abordarea vine cu avertismente:
- Trebuie să actualizați manual totalul de rulare. Recalcularea automată nu o va face pentru dvs.
- Totalul de rulare nu mai poate fi calculat pe baza valorilor altor comenzi. Depinde de câte ori a selectat utilizatorul butonul Adăugare și ce valoare a fost în controlul de introducere text de fiecare dată. Utilizatorul a introdus 77 și a selectat Adăugare de două ori, sau au specificat 24 și 130 pentru fiecare completare? Nu puteți spune diferența după ce totalul a ajuns la 154.
- Modificări ale totalului pot veni pe diferite căi. În acest exemplu, ambele butoane Adăugare și Golire pot actualiza totalul. Dacă aplicația nu se comportă așa cum vă așteptați, ce buton cauzează problema?
Utilizați o variabilă globală
Pentru a crea mașina noastră de adăugare, avem nevoie de o variabilă pentru a reține totalul de rulare. Cele mai simple variabile cu care se poate lucra Power Apps sunt variabilele globale.
Cum funcționează variabilele globale:
- Valoarea variabilei globale se setează cu funcția Set . Set(VariabilăMea, 1) setează variabila globală VariabilăMea la valoarea 1.
- Utilizați variabila globală făcând referire la numele folosit cu funcţia Setare. În acest caz, MyVar va returna 1.
- Variabilele globale pot conține orice valoare, inclusiv șiruri de caractere, numere, înregistrări și tabele.
Să ne reconstruim mașina de adăugare folosind o variabilă globală:
Adăugați un control de introducere text, numit TextInput1 și două butoane, denumite Button1 și Button2.
Setați proprietatea Text de Button1 la „Adăugați” și setați proprietatea Text de Buton2 la „Șterge”.
Pentru a actualiza totalul curent de fiecare dată când un utilizator selectează butonul Adăugare , setați proprietatea OnSelect acestuia la această formulă:
Set(TotalRulare, TotalRulare + TextInput1)
Simpla existență a acestei formule stabilește RunningTotal ca o variabilă globală care deține un număr din cauza operatorului +. Puteți face referire la RunningTotal oriunde în aplicație. Ori de câte ori utilizatorul deschide această aplicație, RunningTotal are o valoare inițială de gol.
Prima dată când un utilizator selectează butonul Adăugare și Setare se execută, RunningTotal este setată la valoarea RunningTotal + TextInput1.
Pentru a seta totalul curent la 0 ori de câte ori utilizatorul selectează butonul Ștergere , setați proprietatea OnSelect aferentă la această formulă:
Set(TotalRulare, 0)
Adăugați un control Label și setați proprietatea sa Text la RunningTotal.
Această formulă va fi automat recalculată și va arăta utilizatorului valoarea RunningTotal întrucât se schimbă pe baza butoanelor selectate de utilizator.
Previzualizați aplicația și avem mașina noastră de adăugare așa cum este descris mai sus. Introduceți un număr în caseta de text și apăsați butonul Adăugare de câteva ori. Când este gata, reveniți la experiența de creare cu ajutorul tastei Esc.
Pentru a afișa valoarea variabilei globale, selectați Variabile din meniul de creare a aplicației.
Pentru a afișa toate locurile în care este definită și utilizată variabila, selectați-o sub Variabile globale.
Tipuri de variabile
Power Apps are trei tipuri de variabile:
Tip variabile | Scope | Descriere | Funcții care stabilesc |
---|---|---|---|
Variabile globale | Aplicație | Cel mai simplu de utilizat. Reține un număr, șir de text, Boolean, înregistrare, tabel etc. la care se poate face referire de oriunde din aplicație. | Set |
Variabile de context | Ecran | Excelent pentru trecerea valorilor pe un ecran, la fel ca parametrii la o procedură în alte limbi. Poate fi făcută referire de pe un singur ecran. |
ActualizareContext Navigați |
Colecții | Aplicație | Deține un tabel la care se poate face referire din orice parte a aplicației. Permite modificarea conținutului tabelului, mai degrabă decât setarea ca întreg. Poate fi salvat pe dispozitivul local pentru utilizare ulterioară. |
Colecta ClearCollect |
Creați și eliminați variabile
Toate variabilele sunt create implicit atunci când apar într-o funcție Setare, UpdateContext, Navigare, Colectare, sau ClearCollect. Pentru a declara o variabilă și tipul acesteia, trebuie doar să o includeți în oricare dintre aceste funcții, oriunde în aplicația dvs. Niciuna dintre aceste funcții nu creează variabile; ele doar completează variabilele cu valori. Nu declarați niciodată variabile în mod explicit așa cum este posibil într-un alt instrument de programare și tastarea este implicită de la utilizare.
De exemplu, este posibil să aveți un control buton cu o formulă OnSelect egala cu Set (X, 1). Această formulă stabilește X ca variabilă cu un tip de număr. Puteți folosi X în formule ca număr, iar variabila respectivă are o valoare de gol după ce deschideți aplicația, dar înainte de a selecta butonul. Când selectați butonul, dați X valoarea a 1.
Dacă ați adăugat un alt buton și ați setat proprietatea sa OnSelect la Set (X, „Bună ziua”), s-ar produce o eroare deoarece tipul (șirul de text) nu se potrivește cu cel precedent Setat (număr). Toate definițiile implicite ale variabilei trebuie să fie de acord asupra tipului. Din nou, toate acestea s-au întâmplat pentru că ați menționat X în formule, nu pentru că oricare dintre aceste formule a rulat efectiv.
Înlăturați o variabilă eliminând toate funcțiile Setare, UpdateContext, Navigare, Colectare sau ClearCollect care stabilesc în mod implicit variabila. Fără aceste funcții, variabila nu există. De asemenea, trebuie să eliminați orice referință la variabilă, deoarece acestea vor cauza o eroare.
Variabila durată de viață și valoarea inițială
Toate variabilele sunt păstrate în memorie în timp ce aplicația rulează. După închiderea aplicației, valorile pe care variabilele le-au deținut se pierd.
Puteți stoca conținutul unei variabile într-un sursă de date folosind funcțiile Patch sau Colectare. De asemenea, puteți stoca valori în colecții pe dispozitivul local utilizând funcția SaveData .
Când utilizatorul deschide aplicația, toate variabilele au o valoare inițială de gol.
Citirea variabilelor
Folosiți numele variabilei pentru a citi valoarea acesteia. De exemplu, puteți defini o variabilă cu această formulă:
Set( Radius, 12 )
Apoi puteți folosi pur și simplu Rază oriunde puteți utiliza un număr și acesta va fi înlocuit cu 12:
Pi() * Power( Radius, 2 )
Dacă dați unei variabile de context același nume ca o variabilă globală sau o colecție, variabila de context are prioritate. Totuși, puteți face referire la variabila globală sau la colecția dacă utilizați operatorul de dezambiguizare[@Radius].
Utilizarea unei variabile de context
Să analizăm cum ar fi creată mașina noastră de adăugare folosind o variabilă de context în loc de o variabilă globală.
Cum funcționează variabilele de context:
- Implicit, stabiliți și setați variabile de context utilizând funcția UpdateContext sau Navigate . Când aplicația pornește, valoarea inițială a tuturor variabilelor de context este gol.
- Actualizați variabilele de context cu înregistrări. În alte instrumente de programare, utilizați în mod obișnuit "=" pentru alocare, ca în "x = 1". Pentru variabile de context, utilizați în schimb {x: 1 }. Când utilizați o variabilă de context, folosiți numele acesteia direct fără sintaxa înregistrării.
- De asemenea, puteți seta o variabilă de context atunci când utilizați funcția Navigate pentru a afișa un ecran. Dacă priviți ecranul ca pe un fel de procedură sau subrutină, această abordare seamănă cu parametrii care trec în alte instrumente de programare.
- Cu excepția opțiunii *Navigate*, variabilele de context sunt limitate la contextul unui singur ecran, de unde și numele. ... Nu puteți să le utilizați sau să le setați în afara acestui context.
- Variabilele de context pot conține orice valoare, inclusiv șiruri de caractere, numere, înregistrări și tabele .
Să ne reconstruim mașina de adăugare folosind o variabilă de context:
Adăugați un control de introducere text, numit TextInput1 și două butoane, denumite Button1 și Button2.
Setați proprietatea Text de Button1 la „Adăugați” și setați proprietatea Text de Buton2 la „Șterge”.
Pentru a actualiza totalul curent de fiecare dată când un utilizator selectează butonul Adăugare , setați proprietatea OnSelect acestuia la această formulă:
ActualizareContext( { TotalRulare: TotalRulare + TextInput1 } )
Simpla existență a acestei formule stabilește RunningTotal ca variabilă de context care deține un număr din cauza operatorului +. Puteți face referire la RunningTotal oriunde pe acest ecran. Ori de câte ori utilizatorul deschide această aplicație, RunningTotal are o valoare inițială de gol.
Prima dată când utilizatorul selectează butonul Adăugare și UpdateContext se execută, RunningTotal este setată la valoarea RunningTotal + TextInput1.
Pentru a seta totalul curent la 0 ori de câte ori utilizatorul selectează butonul Ștergere , setați proprietatea OnSelect aferentă la această formulă:
ActualizareContext( { TotalRulare: 0 } )
Din nou, UpdateContext se utilizează cu formula UpdateContext( { RunningTotal: 0 } ).
Adăugați un control Label și setați proprietatea sa Text la RunningTotal.
Această formulă va fi automat recalculată și va arăta utilizatorului valoarea RunningTotal întrucât se schimbă pe baza butoanelor selectate de utilizator.
Previzualizați aplicația și avem mașina noastră de adăugare așa cum este descris mai sus. Introduceți un număr în caseta de text și apăsați butonul Adăugare de câteva ori. Când este gata, reveniți la experiența de creare cu ajutorul tastei Esc.
Puteți seta valoarea unei variabile de context în timp ce navigați pe un ecran. Acest lucru este util pentru trecerea „contextului” sau „parametrilor” de la un ecran la altul. Pentru a demonstra această tehnică, introduceți un ecran, introduceți un buton și setați proprietatea OnSelect la această formulă:
Navigare(Ecran1, Niciunul, { Total rulare: -1000 } )
Țineți apăsată tasta Alt în timp ce selectați acest buton pentru a fi afișat Screen1 și a se seta variabila de context RunningTotal la -1000.
Pentru a afișa valoarea variabilei de context, efectuați una dintre următoarele acțiuni:
Dacă utilizați versiunea de previzualizare a Power Apps Studio, selectați Variabile din meniul de creare a aplicației.
Dacă utilizați versiunea clasică a Power Apps Studio, selectați meniul Fișier , apoi selectați Variabile în panoul din stânga.
Pentru a afișa unde este definită și utilizată variabila de context, selectați-o sub Variabile de context.
Folosiți o colecție
În cele din urmă, să ne uităm la crearea mașinii noastre de adăugare cu o colecție. Întrucât o colecție deține un tabel ușor de modificat, vom face ca această mașină de adăugare să păstreze o „bandă de hârtie” a fiecărei valoare pe măsură ce sunt introduse.
Cum funcționează colecțiile:
- Creați și setați colecții utilizând funcția ClearCollect . Puteți utiliza funcția Collect în schimb, dar aceasta va necesita efectiv o altă variabilă în loc să o înlocuiască pe cea veche.
- O colecție este un fel de sursă de date și, prin urmare, un tabel. Pentru a accesa o singură valoare dintr-o colecție, utilizați funcția First și extrageți un câmp din înregistrarea rezultată. Dacă ați folosit o singură valoare cu ClearCollect, aceasta va fi câmpul Value , ca în acest exemplu:
Prima(NumeVariabilă).Valoare
Haideți să ne recreăm mașina noastră de adăugare folosind o colecție:
Adăugați un control Intrare text , numit TextInput1, și două butoane, numite Button1 și Button2.
Setați proprietatea Text de Button1 la „Adăugați” și setați proprietatea Text de Buton2 la „Șterge”.
Pentru a actualiza totalul curent de fiecare dată când un utilizator selectează butonul Adăugare , setați proprietatea OnSelect acestuia la această formulă:
Colectare(HârtieBandă, TextInput1.Text)
Simpla existență a acestei formule stabilește Banda de hârtie ca o colecție care deține un tabel cu o singură coloană de șiruri de text. Puteți face referire la Banda de hârtie oriunde în această aplicație. Ori de câte ori un utilizator deschide această aplicație, Banda de hârtie este un tabel gol.
Când rulează această formulă, aceasta adaugă noua valoare la sfârșitul colecției. Pentru că adăugăm o singură valoare, Colectare o plasează automat într-un tabel cu o singură coloană, iar numele coloanei este Valoare, pe care îl veți folosi mai târziu.
Pentru a șterge banda de hârtie atunci când utilizatorul selectează butonul Ștergere , setați proprietatea OnSelect acesteia la această formulă:
Bandă adezivă transparentă (de hârtie)
Pentru a afișa totalul cumulativ, adăugați o etichetă și setați proprietatea sa Text la această formulă:
Sum(BandăHârtie, Valoare)
Pentru a rula mașina de adăugat, apăsați F5 pentru a deschide Previzualizare, introduceți numere în controlul de introducere text și selectați butoanele.
Pentru a reveni la spațiul de lucru implicit, apăsați tasta Esc.
Pentru a afișa banda de hârtie, introduceți un control Tabel de date și setați proprietatea sa Elemente la această formulă:
Bandă de hârtie
În panoul din dreapta, selectați Editare câmpuri și apoi selectați Adăugare câmp, selectați coloana Valoare și apoi selectați Adăugare pentru a o afișa.
Pentru a vedea valorile din colecția dvs., efectuați una dintre următoarele acțiuni:
Dacă utilizați versiunea de previzualizare a Power Apps Studio, selectați Variabile din meniul de creare a aplicației, apoi selectați Colecții.
Dacă utilizați versiunea clasică a Power Apps Studio, selectați Colecții din meniul Fișier .
Pentru a stoca și recupera colectia, adăugați două controale buton suplimentare și setați-le proprietățile Text la Încărcare și Salvare. Setați proprietatea OnSelect a butonului Încărcare pentru această formulă:
Șterge(BandăHârtie); ÎncarcăData(BandăHârtie, "BandăHârtieStocată", adevărat)
Trebuie să goliți mai întâi colecția, deoarece LoadData va adăuga valorile stocate la sfârșitul colecției.
Setați proprietatea OnSelect a butonului Salvare pentru această formulă:
SalvareData(BandăHârtie, "BandăHârtieStocată")
Previzualizați din nou apăsând tasta F5, introduceți numerele în controlul de introducere text și selectați butoanele. Selectați butonul Salvare. Închideți și reîncărcați aplicația și selectați butonul Sarcină pentru reîncărcarea colecției.
Notă
Funcțiile SaveData și LoadData funcționează în Power Apps Mobile, dar nu și în playerul web pentru Power Apps Studio . Power Apps