Filtrovanie podľa dátumov v Power Apps

Filtrovanie podľa dátumov v Power Apps
Aké sú možnosti použitia filtra pre zobrazenie údajov v Power Apps galériách na základe dátumového rozsahu? Vytvorme si spolu jednoduchú aplikáciu v Power Apps, ktorú si môžete aj stiahnúť, a popíšme si možnosti filtrovania údajov podľa dátumov.

Aplikácia pre tablety - Dátumy

Vytvorme si spolu appku ktorá bude mať dáta uložené v zozname na SharePointe. V appke budeme mať iba dva ovládacie prvky pre výber dátumov a galériu na zobrazenie výsledných údajov a uvidíme aké máme možnosti. 
Nový SharePoint zoznam bude obsahovať iba dva stĺpce Popis (jednoriadkový text) a Dátum (Dátum a čas). Otvoríme Power Apps Studio a vytvoríme prázdnu aplikáciu plátna pre tablety. Vložíme prvok Označenie a do vlastnosti Text môžeme napísať názov Dátumy. Nezabudneme pridať Zdroj údajov - náš zoznam SharePoint a ikonu Refresh ktorej vlastnosť OnSelect nastavíme takto: 
Refresh(Dátumy)
Vložíme aj dva ovládacie prvky Výber dátumu (nazvime ich DatumOD a DatumDO), k nim pridáme Označenie a vložíme galériu, ktorej priradíme náš SharePoint zoznam. Výsledok by mohol vyzerať približne takto (zobrazovať sa budú všetky záznamy z nášho SharePoint zoznamu):

Filter na základe dátumového rozsahu z ovládacích prvkov

Teraz už môžeme nastaviť vlastnosť Items pre našu galériu nasledovne:
Filter('Dátumy'; Dátum >= DatumOD.SelectedDate; Dátum <= DatumDO.SelectedDate)
Po vložení vzorca nám už galéria filtruje údaje podľa zvolených dátumov OD a DO:

Filter na základe aktuálneho dňa

Niekedy je vhodnejšie automaticky filtrovať údaje na základe aktuálneho dňa, vtedy môžeme použiť funkciu ToDay() a vzorec pre novú galériu upravíme nasledovne:
With({ StartDateOD:Today(); EndDateDO:Today()+1}; Filter('Dátumy'; Dátum >= StartDateOD; Dátum < EndDateDO))
Pri drobnej úprave predchádzajúceho vzorca vieme automaticky filtrovať napríklad nasledujúci týždeň alebo predchádzajúci (alebo ľubovoľný počet dní - celý jeden deň predstavuje hodnotu 1). Stačí iba upraviť číslo (počet dní) a znamienko (+ nasledujúce dni, - predchádzajúce dni), prípadne znamienka (väčší, rovný, menší)...
With({ StartDateOD:Today(); EndDateDO:Today()+8}; Filter('Dátumy'; Dátum >= StartDateOD; Dátum < EndDateDO))
Samozrejme aj takéto rozhodnutie môžeme prenechať na užívateľa. Pidáme vstupné pole (TextInput_PocetDni) a Rozbaľovaciu ponuku (Znamienko), kde priradíme iba znamienka + a -. Môžeme pridať aj popisok, aby užívateľ vedel o čo ide a jednoduchým zadaním vybral počet dní a či che pred dnešným dňom (-) alebo po dnešnom dni (+). Vzorec bude vyzerať nasledovne:
If(Znamienko.Selected.Názov = "+";
    With({ StartDateOD:Today(); EndDateDO:Today() + Value(TextInput_PocetDni.Text)}; Filter('Dátumy'; Dátum >= StartDateOD; Dátum < EndDateDO));
    With({ StartDateOD:Today(); EndDateDO:Today() - Value(TextInput_PocetDni.Text)}; Filter('Dátumy'; Dátum < StartDateOD; Dátum > EndDateDO)))

Filter na základe aktuálneho mesiaca

Podobne ako pri aktuálnom dni môžeme filtrovať aj na základe aktuálneho mesiaca. Novej galérii nastavíme vlastnosť Items nasledovne:
With({ StartDateOD: Date(Year(Today()); Month(Today()); 1); EndDateDO: Date(Year(Today()); Month(Today())+1; 1) -1}; 
Filter('Dátumy'; Dátum >= StartDateOD; Dátum < EndDateDO))
A opäť iba na základe počtu mesiacov a znamienka vieme upravovať počet nasledujúcich alebo predchádzajúcich mesiacov.

Filter na základe aktuálneho roka

Na ukážku si spravme ešte aktuálny rok - vlastnosť Items pre novú galériu nastavíme takto:
With({ StartDateOD: Date(Year(Today()); 1; 1); EndDateDO: Date(Year(Today()); 12; 31)}; 
Filter(Dátumy; Dátum >= StartDateOD; Dátum <= EndDateDO))

Pridanie ovládacích tlačítok

Na záver už iba dorobíme tlačítka pre prípad, že si stiahnete túto aplikáciu. Každému tlačítku nastavíme vlastnosť OnSelect na novú premennú (príklad pre prvé tlačítko):
Set(varGallery; true);; Set(varGallery_1; false);; Set(varGallery_2; false);; Set(varGallery_3; false)
A jednotlivé galérie budeme zobrazovať na základe nastavenej premennej, vlastnosť Visible pre prvú galériu bude nastavená nasledovne:
varGallery

_Power Apps | najlepší online kurz:

Power Apps - moja prvá appka

Power Apps je úžasná cloudová služba v prostredí Microsoft 365, kde vás veľmi rýchlo naučíme vytvárať jednoducho skvelé, moderné firemné aplikácie bez nutnosti programovania, iba klikaním myškou a/alebo písaním vzorcov podobným spôsobom ako v Exceli. Vaše mobilné aplikácie budú rovnako fungovať na počítačoch, tabletoch aj smartfónoch a na operačných systémoch Windows, iOS alebo Android.

Najlepší online kurz Power Apps - moja prvá appka je zameraný priamo na tvorbu mobilných aplikácií v cloudovom prostredí Microsoft 365. Dozviete sa, ako rýchlo appku vytvoriť, ako všetko potrebné nastaviť a čo znamenajú jednotlivé možnosti vrátane ich použitia.

najlepší online kurz
  • doživotný prístup
  • bez obmedzení
  • konzultácia s lektorom

_video o Power Apps - filtrovanie podľa dátumov

Pozrite si krátke video z reálneho fungovania a odozvy na zariadení iPad mini 5. generácie.
Power Apps mobilnú aplikáciu Dátumy, ktorú sme si pred chvíľkou vytvorili, si môžete aj stiahnúť.

Stiahnite si Power Apps appku Dátumy

Mobilnú aplikáciu, ktorú sme práve vytvorili v Power Apps, dávam bezplatne k dispozícii, kľudne si ju môžete stiahnuť a detailne si pozrieť jednotlivé nastavenia a príkazy.

Páčil sa vám tento článok alebo máte otázku?

Ak sa vám článok páčil, ohodnoťte ho v úvodnej (hornej) časti. Ak máte nejaké otázky k filtrovaniu údajov podľa dátumov v Power Apps, napíšte nám.
#PowerAppsSK   #SoftverNaMieru   #PowerApps

Máte pre nás nový projekt?

Power Apps najlepší online kurz:

moja prvá appka

Power Apps je úžasná cloudová služba v prostredí Microsoft 365, kde vás veľmi rýchlo naučíme vytvárať jednoducho skvelé, moderné firemné aplikácie bez nutnosti programovania, iba klikaním myškou a/alebo písaním vzorcov podobným spôsobom ako v Exceli. Vaše mobilné aplikácie budú rovnako fungovať na počítačoch, tabletoch aj smartfónoch a na operačných systémoch Windows, iOS alebo Android.

Žiadne zbytočné akademické koncepty a poučky, len praktické lekcie zo skutočnej praxe a tvorby mobilných aplikácií pre klientov.