PowerApps. Formatowanie tekstu

      11 komentarzy do PowerApps. Formatowanie tekstu

Wstęp

PowerAppsIcon

Wspominając wszystkie projekty, w których miałem okazję uczestniczyć, nie potrafię przypomnieć sobie przypadku, w którym z ust naszego Klienta nie padła by uwaga dotycząca formatowania tekstu. Najczęściej dotyczyły one formatowania data i walut. Rok na pierwszym miejscu, innym razem dzień, miesiąc wyrażony liczbą innym razem tekstem. Zawsze inaczej i zawsze źle. Niby to prosta rzecz, ale potrafi być irytująca. Jak to wygląda w PowerApps? Na szczęście aplikacja pozwala bardzo dokładnie formatować dowolne ciągi znaków. W dzisiejszym odcinku pokażę ci jak to zrobić korzystając z kilku wbudowanych funkcji.

Znaj swoje źródło danych

Zaznaczałem to już w poprzednich odcinkach, ale powtórzę jeszcze raz. Pracując z PowerApps bardzo przydaje się analiza źródła danych, z którego korzystasz. Liczbę, czy datę możesz zapisać w dedykowanej kolumnie typu Number/DateTime/Currency. Zdarzają się jednak sytuacje, w której źródło wykorzystuje do tego po prostu kolumnę typu Text. W takim przypadku przydatną rzeczą jest przekonwertowanie tych wartości do odpowiedniego typu. Jak to zrobić?

Konwersja danych

Odpowiedź jest prosta i jak to zwykle w PowerApps, sprowadza się do użycia odpowiedniej funkcji. Zmianę tekstu na liczbę wykonasz funkcją Value. Tekst na datę, funkcją DateTimeValue. Konwersję i formatowanie tekstu zrealizujesz funkcją Text. Ta ostatnia pozwala na bardzo wiele. Więcej szczegółów zobaczysz w filmie.

Przykład

Czas na przykład. Pokażę Ci w nim jak sformatować daty, liczby i waluty. Pamiętaj o ustawieniach regionalnych. Te oprócz odpowiedniego separatora listy, narzucają też specyficzne formatowanie walut i liczb. Jeśli u Ciebie dane wyświetlają się inaczej, to pewnie zasługa tych ustawień. Nie przejmuj się tym na razie.

Podsumowanie

W ramach podsumowania zostawiam Ci dzisiaj lekturę uzupełniającą. To linki do trzech artykułów z oficjalnej dokumentacji PowerApps. Naprawdę warto je przeczytać:

🔗 Funkcja Text: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-text

🔗 Funkcja Value: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-value

🔗 Funkcja DateTimeValue: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-datevalue-timevalue

W kolejnym odcinku spróbujemy uzupełnić naszą aplikację o bardzo ważny element – listę zawodników. Do tego potrzebować będziemy dodatkowego źródła danych. Jak je dodać i podłączyć do dedykowanej galerii zobaczysz już za tydzień. Do następnego razu!

Subscribe
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

11 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments
Grzegorz
Grzegorz
26 lutego 2019 16:26

Witam,

A co w przypadku gdy Sherpoint zwraca wartość z kolumny obliczeniowej w formie 0.000 (z kropką)
Powerapps (w polskiej wersji) odczyta to jako tekst i nie można tego przekonwertować do value (tzn. można tylko nie wiem jak)
W excelu można skorzystać z opcji znajdź i zmień.
Jak to rozwiązać w PowerApps?

Grzegorz

Łukasz Falaciński
Łukasz Falaciński
26 lutego 2019 17:04
Reply to  Grzegorz

Jeśli funkcja Value() nie działa w takim przypadku (przyznam, że nie przetestowałem tego w takim scenariuszu) to zawsze możesz użyć funkcji substitue (https://docs.microsoft.com/pl-pl/powerapps/maker/canvas-apps/functions/function-replace-substitute) i zamienić kropkę na przecinek. To pomysł, który przyszedł mi do głowy ad hoc, Pewnie wymyślisz coś lepszego, ale to powinno wystarczyć. Powodzenia i daj znać, czy się udało 🙂

Grzegorz
Grzegorz
26 lutego 2019 17:31

Dzięki !
Działa 🙂

Grzegorz
Grzegorz
26 lutego 2019 17:36
Reply to  Grzegorz

Pozwolę sobie jeszcze na jedno pytanie (skoro tak łatwo poszło:)
Koszysta z listy comobox jako Filtr. Nie potrawie napisać formuły która pozwoli zaznaczyć klika opcji (comobox działa tylko przy wybieraniu jednej opcji)

Z góry dzięki za pomoc !!!

Grzegorz
Grzegorz
26 lutego 2019 18:43

Korzystam z listy wybieralnej Comobox. W liście ustawione są wartości (dla przykładu) A i B. Następnie za pomocą tej listy filtruję tabelę (wartości A i B znajdują się w kolumnie X). Korzystając z formuły „Filter” mogę filtrować tablę po wartości A lub B. Problem: jak wybrać dwie wartości na raz. Czyli chce wyświetlić (przefiltrować) wartość AiB.

Grzegorz
Grzegorz
26 lutego 2019 19:08

or ? nie za bardzo wiem gdzie;
Filter(’ Sprzedaz’;Faktura.Value= ComboBox4.Selected.Value).
Widziałem gdzie w internecie, ze trzeba skorzystać z funkcji selectedItems ale nie mogę jej wykorzystać właściwie

(tabela tak na próbę 😉

Grzegorz
Grzegorz
26 lutego 2019 19:31

Działa !
Olbrzymie dzięki. Siedziałem nad tym od dłuższego czasu.

Michał
Michał
12 stycznia 2022 20:45

Dzień dobry, mamy pytanie czy można połączyć thisitem.nazwa z value ? Po krotce na karcie głównej aplikacji mam wartości , które mam w formacie tekst, chcę żeby aplikacja mi sortowala te wartości od największej , ale sortuje w taki sposób 99, 98, 8, 85, 7, 71 . (Sortuje przez sortbycolumns), Myślę, że jak przemieniłbym wartości na format liczbowy to sortowałby tak, jak tego oczekuje ( zgodnie z wartością ). Ale w żaden sposób nie mogę przerobić wartości na liczbę, nie wiem co źle robię. Dziękuję za pomoc