Po co w ogóle zmienne?

Zmienna to nazwane miejsce w pamięci, gdzie możesz przechować jakąś wartość — tekst, liczbę, obiekt z danymi lub całą kolekcję wierszy. W Power Apps i Power Automate zmienne pozwalają przekazywać dane między ekranami, przechowywać tymczasowe wyniki obliczeń i optymalizować liczbę zapytań do źródeł danych.

Zrozumienie typów zmiennych i ich zasięgów to fundament pisania wydajnego i poprawnego kodu w Power Fx.

Trzy typy zmiennych w Power Apps

1. Zmienne globalne — Set()

Zmienne globalne są dostępne na wszystkich ekranach aplikacji przez cały czas jej działania. Tworzy się je funkcją Set():

Set(varZmiennaGlobalna, User().Email)

Kiedy ich używać:

  • Przekazywanie danych między ekranami (np. zaznaczony element galerii)
  • Przechowywanie wartości, z której korzysta wiele widoków
  • Sterowanie widocznością elementów w całej aplikacji

Uwaga: unikaj używania zmiennych globalnych tam, gdzie wystarczy zmienna lokalna. Niepotrzebne przechowywanie wartości w zmiennej globalnej może powodować trudne do wykrycia błędy, gdy dana wartość "wycieknie" do innego widoku.

2. Zmienne kontekstowe (lokalne) — UpdateContext()

Zmienne lokalne są widoczne tylko na ekranie, na którym zostały zdefiniowane. Tworzy się je funkcją UpdateContext():

UpdateContext({varZmiennaLokalna: User().Email})

Kiedy ich używać:

  • Sterowanie stanem w obrębie jednego ekranu (np. ukrywanie sekcji, wyświetlanie trybu edycji)
  • Przechowywanie tymczasowych wartości, które nie są potrzebne nigdzie indziej
  • Zwiększanie bezpieczeństwa i czytelności kodu — ograniczony zasięg zmniejsza ryzyko przypadkowego wpływu na inne widoki

3. Zmienne kolekcyjne — Collect()

Kolekcje przechowują wiele wierszy danych — analogicznie do tabeli lub arkusza. Tworzy się je funkcją Collect():

Collect(varZmiennaKolekcyjna, ZgloszeniaIT)

Zasięg kolekcji jest globalny — dostępna jest na wszystkich ekranach. Typowe zastosowanie: pobranie danych ze źródła (SharePoint, Dataverse) raz na starcie aplikacji i praca na lokalnej kopii. Dzięki temu:

  • Aplikacja nie wysyła zapytania do serwera przy każdym przejściu między widokami
  • Działanie jest szybsze i płynniejsze dla użytkownika
  • Można modyfikować dane lokalnie przed ewentualnym zapisem

Zmienne w Power Automate

W Power Automate zmienne inicjalizuje się akcją Initialize Variable na początku przepływu, jawnie określając ich typ:

  • String — tekst
  • Integer / Float — liczby całkowite i zmiennoprzecinkowe
  • Boolean — prawda / fałsz
  • Array — tablica (odpowiednik kolekcji z Power Apps)
  • Object — obiekt (np. jeden wiersz z listy SharePoint)

Na zmiennych można wykonywać operacje:

  • Set Variable — nadpisanie całej wartości zmiennej
  • Append to Array Variable — dodanie elementu do tablicy
  • Append to String Variable — dołączenie tekstu do istniejącego ciągu
  • Increment / Decrement Variable — zwiększenie lub zmniejszenie wartości liczbowej

Podsumowanie: który typ zmiennej kiedy?

  • Globalna (Set) — gdy dane potrzebne są na wielu ekranach aplikacji
  • Lokalna (UpdateContext) — gdy dane dotyczą tylko bieżącego ekranu
  • Kolekcja (Collect) — gdy chcesz pobrać tabelę danych raz i pracować na niej lokalnie
  • Power Automate — zawsze jawna inicjalizacja z określonym typem, wybierz typ odpowiadający rodzajowi danych

Znajomość zmiennych i ich zasięgów to fundament, na którym będziemy budować bardziej zaawansowane formuły Power Fx w kolejnym odcinku.