# #8 Nauka Power Platform | Power Fx - Funkcje

**Film YouTube:** https://www.youtube.com/watch?v=U4BEtbIVMYA

---

[Muzyka] Cześć. W dzisiejszym odcinku omówimy sobie funkcję Power FX na przykładzie podstawowych funkcji w Power Apps. No dobrze, musimy przede wszystkim zacząć od powiedzenia sobie czym w ogóle jest funkcja, bo nie każdy z tym miał do czynienia albo dużo osób miało z tym do czynienia, nie wie, że to funkcja. Jeśli mogę odnieść się analogicznie do do jakiś innych narzędzi dostępnych w organizacjach, to myślę, że najlepszą analogią do używania funkcji są funkcje w Excelu. Porównanie funkcji, które są dostępne w Excelu z Power FXem myślę, że jest zasadne. Mają one podobne działanie. I czym w ogóle jest funkcja? Funkcja jest w najprostszych słowach jest instrukcją, która przyjmuje pewne dane wejściowe, jakieś argumenty i zwraca wynik. Czyli wkładamy coś do środka jakiejś funkcji, która ma pełnić pewną konkretną czynność i ona zwraca nam jakieś wyniki. Mógłbym teraz opowiadać o tym, że są funkcje, które nic nie zwracają albo nie przyjmują żadnych argumentów. Chcę bardziej skupić się na takich podstawowych założeniach Power FX, gdzie z reguły coś jest zwracane, z reguły jakiś argument wejściowy jest, a przede wszystkim skupić się na takich podstawowych funkcjach, które no tworzą taki core podstaw do do obsługi Power Apps. Oczywiście z czasem trzeba trzeba używać coraz to bardziej zaawansowanych, natomiast powolutku i do celu. Pokażę, zrobię sobie, zrobię taki przykład na yyy poziomie zrozumienia tych argumentów i tego co powiedziałem, czyli jak interpretować te to to, czym jest ta funkcja. Użyjemy sobie czegoś, co w Excelu też jest podobnie nazywane jako przykład funkcję if. funkcja if, czyli funkcja jeżeli i tak jak mówiłem przyjmuje jakieś warunki funkcje. Zaczyna się od jakiejś nazwy funkcji, czyli ta nazwa definiuje mniej więcej co ona robi i mamy też tutaj podpowiedzi w Power Apps, co w środku musimy zawrzeć. Y, więc przyjmuję pewne argumenty. Pierwszym z argumentów funkcji if jakiś test logiczny, czyli musimy tu zdefiniować jakieś yyy porównanie czegoś, na przykład jakieś wartości i jeśli odpowiedź dostaniemy prawdziwą, to określić co ma co ma zwrócić ta funkcja, a jeśli fałszywą to w kolejnym kroku. I teraz zróbmy sobie prostą rzecz, czyli jeżeli if 1 jest większe od trzech, to napisz tak. W przeciwnym razie napisz nie. No dobrze zadziałało. Możemy sobie sprawdzić w drugą stronę. Taki prosty przykład, żeby pokazać. Mamy pewną metodę, pewną funkcję, która realizuje takie zadanie, że sprawdza, czy pierwszy warunek jest poprawny. Jeśli jest poprawny, to ma zrobić to. W tym przypadku użyliśmy pola tekstowego i wstrzykujemy po prostu wartość tekstową, ale możemy tego używać w wielu innych kontekstach. A jeżeli warunek jest nieprawdziwy, to skorzystaj z tej z tego kolejnego argumentu. No dobrze, skupmy się teraz na tych podstawowych funkcjach, które chcę wam przedstawić. Oczywiście zachęcam do dokumentacji Microsoftu, gdzie są dostępne wszystkie funkcje i można przejrzeć sobie jakie czary jeszcze można tutaj robić. Natomiast skupmy się na tym, co tutaj widzimy. Pierwszą z funkcji weźmiemy sobie tą tabelę. Skorzystałem sobie z tej samej galerii, co ostatnio, zgłoszenia IT i mamy tam dwa elementy na stałe. Pierwszą z takich funkcji jest funkcja filter. Funkcja filter pozwala na filtrowanie danych. To znaczy, jeżeli my wskażemy w tej galerii wszystkie elementy źródłowe, no to widzimy tutaj wszystkie elementy. Natomiast jeżeli użymy jemy na to funkcji filter, która w pierwszym warunku przyjmuje jakieś źródło danych, a potem po przecinku przyjmuje jakieś warunki, które mają filtrować te te dane, to ograniczy nam elementy wyświetlane w tym w tej galerii tylko do tych, które są wskazane. Tak, czyli tutaj wskazaliśmy sobie, że ID ma być równe 1. Możemy zrobić sobie ID większe od jeden, wtedy nam wskaże dwójeczkę. Jak zrobimy sobie większe lub równe, to wskaże nam obydwa elementy. To jest funkcja filter. Funkcja search obok funkcji filter. Kolejna funkcja, która przeszukuje w jakiś sposób dane. Funkcja search działa w taki sposób, że mamy wskazane źródło danych, mamy wskazane z jakiego innego elementu, czy możemy tu z ręki też oczywiście wpisać jakieś wartości ma szukać i w jakich kolumnach źródłowych ma szukać. Czyli zbudowaliśmy sobie tą funkcję w taki sposób, żeby tą listę sharepointową przeszukiwało nam po tekście zawartym w temacie. I sprawdźmy sobie jak to działa. Odnosimy się tutaj do pola, w którym możemy coś wpisywać. Więc wpiszemy sobie tutaj na przykład internetu czy intern i znalazło nam dokładnie ten element, którego szukaliśmy. Jak sobie wpiszemy RP, to wyszuka nam wszystkie elementy, które mają taki fragment tekstu w temacie. Możemy wskazywać więcej takich kolumn. i i dokładniej i precyzyjniej jeszcze definiować, czy to ma być początek danego wyrażenia, koniec, środek. Można się tym trochę bardziej zabawić. Kolejną funkcję, którą już znamy z poprzednich odcinków, to jest funkcja Navigate, ale użyjmy jej sobie jeszcze raz, czyli nawigujemy do innego ekranu, na przykład do list screen z altem. sprawdzimy sobie czy działa. Przekierowało nas do listre >> Sorki za krótką przerwę, ale jeżeli nadal oglądasz ten filmik to mam nadzieję, że cię zainteresował i poproszę cię w tym momencie o subskrypcję. Muszę też wspomnieć, że oprócz tego, że tworzę te materiały, proponuję też kilka form współpracy. Jeżeli jesteś zainteresowany pomocą we wdrożeniu automatyzacji w twojej firmie albo jesteś osobą, która chce rozwijać się w kierunku nauki par platformy, koniecznie skontaktuj się ze mną. W opisie tego filmu znajdziesz wszystkie potrzebne dane kontaktowe. To wszystko. Nie przeszkadzam. Miłego oglądania. Kolejna funkcja, funkcja if. Już ją sobie umówiliśmy wcześniej na takim ogólnym przykładzie. No zobaczmy jeszcze w innym sposobie wykonania. Nałożyłem na naciśnięcie przycisku warunek, który sprawdza inną funkcją. I tutaj też odnoszę się do tak zwanego zagnieżdżenia funkcji, czyli możemy też umieszczać funkcję w funkcji. Zawsze funkcja, która jest najgłębiej zagnieżdżona wykona się jako pierwsza, a potem wykonywanie idzie coraz to wyżej. Więc mamy tutaj tak funkcję count rows, czyli zlicza wiersze dla danego źródła. I jeżeli liczba wierszy jest większa od zera, to ma ustawić zmienną kolor na taki kolor. A jeśli jest mniejsza od zera czy równa zero, to ma ustawić kolor na czerwony. No i naciśnijmy sobie ten przycisk. rozpoznało nam wszystko. Jest dobrze. Tu sobie zrobiłem przycisk pomocniczy do czyszczenia tej zmiennej. Ustawiliśmy sobie na tło całego screena tą zmienną parcolor, więc na niej mogliśmy edytować wartości. Kolejna funkcja to funkcja patch. Funkcja patch ma wiele możliwości zastosowań. Pokażę funkcję patch. wykorzystaniu takim, że spowoduje ona dodanie elementu na listę źródłową SharePoint. Jaką ona ma składnie? Funkcję patch. Wybieramy najpierw źródło danych, do których chcemy coś dodać. W przypadku tworzenia nowych elementów, bo ona też służy do aktualizacji, do usuwania elementów, pozwala na kilka różnych możliwości. Przy dodawaniu nowego wiersza wskazujemy sobie, używamy innej funkcji defaults po to, żeby nie wskazywać istniejącego elementu na liście, tylko pokazać tej funkcji patch. Będziemy chcieli dodać nowy element. I teraz musimy opisać, co chcemy zaktualizować. To przyjmowane jest w strukturze jasonowej. Sobie rozwiniemy tą sekcję. I tu ładnie nam będzie podpowiadało wszystkie kolumny, jakie są dostępne w ramach listy Sharepointowej, czyli mamy tutaj temat, opis i wszystko, co musimy uzupełnić. Wpiszemy sobie aa opis. Wpiszemy sobie BBB. I w zasadzie chyba tyle nam wystarczy, bo nie mamy tam nic istotnego. Status jest określany automatycznie, priorytet też. Teoretycznie jeśli teraz przejdziemy sobie, naciśniemy alt, dodało nam element do listy, jak widać od razu pojawił się tutaj też w galeriach. I zobaczmy jak to wygląda na liście. Wstrzyknęło nam kolejny wiersz. Kolejną przydatną funkcją jest funkcja lookup. Funkcja lookup wyszukuje nam pierwszy spełniający warunek, element, obiekt na danym źródle danych na czy na liście w tym przypadku sharepointowej. Zrobimy sobie taką próbę i skorzystamy sobie ze zmiennej ze zmiennej war item. Patrzymy, jest ona teraz pusta. Na tym przycisku zrobimy sobie tak, żeby do zmiennej war item przypisać wartość elementu, który id równe jest 3. Więc zrobimy sobie tak. Funkcja lookup. funkcji lookup musimy podać znów źródło danych, a następnie po jakim parametrze chcemy korzystać. Bierzemy sobie ID równe 3 i zamykamy sobie wszystkie nawiasy. W momencie gdy nacisnę teraz przycisk lookup, odświeżę, to jak widać do zmiennej zapisany został cały wiersz. I co ważne, co było już w poprzednim odcinku, ale polecam zapoznać się z innymi opcjami wykorzystania, to warto poczytać, warto pobawić się na tych zmiennych. To znaczy do pracy na zmiennych jest kilka funkcji. To są takie podstawowe, czyli funkcja set, funkcja collect, clear collect i update context. Fajnie jest się z nimi zapoznać, zobaczyć w jaki sposób jeszcze inny można pracować na zmiennych i wykorzystywać te właśnie funkcje. Na dzisiaj to wszystko. Omówiliśmy sobie dzisiaj jakie są najpopularniejsze funkcje i czym w ogóle są funkcje w kontekście PowerU Apps i ogólnie programowania. Zachęcam was do zabawy nimi i testowania. No i jest to pewna podstawa, którą musimy mieć, żeby iść dalej z kolejnymi y lekcjami i z próbą rozwiązywania coraz to trudniejszych zagadnień i budowania coraz trudniejszych rozwiązań. Podobnie jak wcześniejsze zajęcia ze zmiennych musiały się odbyć, bo faktycznie jest to pewien core. Tak naprawdę na kolejnych zajęciach poznamy sobie jeszcze podstawy error handlingu, czyli przechwytywania wyjątków. y w momencie, gdy coś się nie uda, jak o tym komunikować użytkownika czy samych siebie, że coś się wydarzyło źle i po tych odcinkach będziemy już mogli się, myślę, skupić na czymś bardziej ciekawym, bardziej kreatywnym. Niestety musimy też przecierpieć taką taką teorię, ale jest ona bardzo potrzebna. Bardzo ważna jest tutaj wasza własna praca nad tym, żeby poobcować z tym i próbować się pouczyć samemu wykorzystywać rzeczy, które ja pokazuję tylko naprawdę w jakimś w promilu możliwości. Dzięki za dzisiaj. Do następnego. [Muzyka] 