Principy zdrojů dat pro aplikace plátna
Většina aplikací plátna v Power Apps používá externí informace nazývané zdroje dat, které jsou uložené v cloudových službách. Běžným příkladem je tabulka v excelovém souboru uloženém na OneDrive pro firmy. Aplikace k těmto zdrojům dat získávají přístup pomocí připojení.
Tento článek pojednává o různých druzích zdrojů dat a způsobu práce s tabulkovými zdroji dat.
Vytvoření aplikace, která ve zdroji dat provádí základní čtení a zápis, je jednoduché. Někdy ale chcete mít větší kontrolu nad tokem dat do aplikace a z aplikace. Tento článek popisuje, jak větší kontrolu zajišťují funkce Patch, DataSourceInfo, Validate a Errors.
Druhy zdrojů dat
Zdroje dat můžou být připojené k nějaké cloudové službě, nebo můžou být vůči aplikaci lokální.
Připojené zdroje dat
Nejběžnějšími zdroji dat jsou tabulky, které můžete používat k získávání a ukládání informací. Připojení ke zdrojům dat můžete používat ke čtení a zapisování dat v rámci sešitů aplikace Microsoft Excel, seznamů vytvořených v aplikaci Seznamy Microsoft, knihoven SharePoint, tabulek SQL a mnoha dalších formátů, které se mohou ukládat do cloudových služeb jako OneDrive pro firmy, Dropbox a SQL Server.
Mezi jiné než tabulkové zdroje dat patří e-mail, kalendáře, Twitter a oznámení, tento článek ale o těchto jiných druzích zdrojů dat nepojednává.
Lokální zdroje dat
Vytvořit aplikaci, která čte a zapisuje data ze zdroje dat, je díky ovládacím prvkům Galerie, Formulář pro zobrazení a Formulář pro úpravy snadné. Začněte tím, že si přečtete článek Principy datových formulářů.
Tyto ovládací prvky se použijí, když Power Apps požádáte o vytvoření aplikace z dat. K ukládání a manipulaci s daty, která pocházejí ze zdroje dat, používá tato aplikace „pod kapotou“ interní tabulku.
Speciálním druhem zdroje dat je kolekce, která je vůči aplikaci lokální a nezávisí na připojení k nějaké službě v cloudu, takže tyto informace se nedají sdílet mezi zařízeními stejného uživatele nebo mezi uživateli. Kolekce se načítají a ukládají lokálně.
Druhy tabulek
Tabulky interní vůči aplikaci Power Apps jsou pevné hodnoty, podobně jako je hodnotou číslo nebo řetězec. Interní tabulky nejsou nikde uložené a existují jenom v paměti aplikace. Strukturu a data tabulky nemůžete upravovat přímo. Místo toho můžete prostřednictvím vzorce vytvořit novou tabulku: pomocí tohoto vzorce vytvoříte upravenou kopii původní tabulky.
Externí tabulky jsou uložené ve zdroji dat pro pozdější načtení a sdílení. Power Apps poskytuje „připojení“ pro čtení a zápis uložených dat. V rámci určitého připojení můžete mít přístup k několika tabulkám s informacemi. Když vyberete, které tabulky se mají v aplikaci používat, stane se z každé z nich samostatný zdroj dat.
Další podrobnosti o interních tabulkách najdete v tématu věnovaném práci s tabulkami, které ale platí také pro externí tabulky uložené v nějaké cloudové službě.
Práce s tabulkami
Tabulkové zdroje dat můžete používat stejně jako interní tabulku Power Apps. Každý zdroj dat obsahuje (podobně jako interní tabulka) záznamy, sloupce a vlastnosti, které se používají ve vzorcích. Kromě toho:
Zdroj dat má stejné názvy sloupců a datové typy jako podkladová tabulka v připojení.
Poznámka
V případě zdrojů dat pro SharePoint a Excel obsahujících názvy sloupců s mezerami nahradí Power Apps tyto mezery za "_x0020_". Například Název sloupce v SharePoint nebo Excel se v Power Apps zobrazí jako Název_x0020_sloupce v případě, že se vyskytuje v rozložení dat nebo se používá vzorci.
Zdroj dat se načte ze služby automaticky při načtení aplikace. Pomocí funkce Refresh můžete vynutit aktualizaci dat.
Uživatelé můžou při práci v aplikaci vytvářet, měnit a odstraňovat záznamy a odesílat tyto změny zpět do podkladové tabulky ve službě.
Funkce DataSourceInfo, Defaults a Validate poskytují informace o zdroji dat, s jejichž pomocí můžete optimalizovat uživatelské prostředí.
Vytváření zdrojů dat
Power Apps nejde použít k vytvoření připojeného zdroje dat ani k úpravě jeho struktury; zdroj dat už musí existovat v nějaké službě. Pokud chcete například vytvořit tabulku v excelovém sešitu uloženém na OneDrive, musíte napřed v Excelu Online vytvořit na OneDrive sešit. Pak k němu z vaší aplikace vytvoříte připojení.
Zdroje dat v podobě kolekce je možné vytvořit a upravit v aplikaci, jsou ale jenom dočasné.
Zobrazení jednoho nebo více záznamů
Předchozí diagram znázorňuje tok informací, když aplikace čte tyto informace v nějakém zdroji dat:
- Informace jsou uloženy a sdíleny prostřednictvím služby úložiště (v tomto případě Seznamy Microsoft nebo SharePoint Online).
- Připojení zpřístupňuje tyto informace aplikaci. Toto připojení zajišťuje ověření uživatele při přístupu k informacím.
- Při spuštění aplikace nebo použití funkce Refresh se informace přenesou z připojení do zdroje dat v aplikaci pro lokální použití.
- Vzorce slouží ke čtení informací a jejich zpřístupnění v ovládacích prvcích, které vidí uživatel. Záznamy zdroje dat zobrazíte tak, že na některé obrazovce použijete galerii a její vlastnost Items svážete se zdrojem dat: Gallery.Items = ZdrojDat. Ovládací prvky v galerii svážete s galerií pomocí jejich vlastnosti Default.
- Zdroj dat je rovněž tabulka. Před tím, než zdroj dat použijete jako celek, ho tedy můžete pomocí funkcí Filter, Sort, AddColumns a dalších upřesnit a rozšířit. K práci s jednotlivými záznamy můžete použít také funkce Lookup, First, Last a další.
Úprava záznamu
V předchozím oddílu jste zjistili, jak se ze zdroje dat čte. Všimněte si, že šipky ve výše uvedeném diagramu jsou jednosměrné. Změny, které uděláte ve zdroji dat, se nepřenášejí zpět prostřednictvím stejných vzorců, kterými se data načetla. Místo toho se používají nové vzorce. Často se k úpravě záznamu používá jiná obrazovka než k procházení záznamů, zvláště na mobilním zařízení.
Abyste mohli upravit existující záznam nějakého zdroje dat, musí tento záznam původně pocházet z tohoto zdroje dat. Záznam se může přenést přes galerii, kontextovou proměnnou a libovolný počet vzorců, ale jeho původ by mělo jít zpětně vystopovat až ke zdroji dat. To je důležité, protože spolu se záznamem se přenášejí další informace, které ho jednoznačně identifikují a zajišťují, že upravujete správný záznam.
Předchozí diagram znázorňuje tok informací při aktualizace zdroje dat:
- Ovládací prvek Formulář pro úpravy funguje jako kontejner pro vstupní karty, které obsahují ovládací prvky pro zadání uživatele, jako je textové zadání nebo posuvník. K identifikaci záznamu, který se má upravit, slouží vlastnosti DataSource a Item.
- Každá vstupní karta má vlastnost Default, která je obvykle nastavená na pole záznamu ThisItem formuláře. Ovládací prvky na vstupní kartě pak přebírají své vstupní hodnoty z vlastnosti Default. Normálně toto nastavení nemusíte měnit.
- Každá vstupní karta zpřístupňuje vlastnost Update. Tato vlastnost mapuje zadání uživatele na konkrétní pole záznamu kvůli zpětnému zápisu do zdroje dat. Normálně toto nastavení nemusíte měnit.
- Ovládací prvek tlačítka nebo obrázku na obrazovce umožňuje uživateli uložit změny do záznamu. Vzorec OnSelect tohoto ovládacího prvku volá za tímto účelem funkci SubmitForm. Funkce SubmitForm přečte všechny vlastnosti Update těchto karet a použije je ke zpětnému zápisu do zdroje dat.
- Někdy můžou nastat problémy. Může přestat fungovat síťové připojení nebo ověřovací kontrolu provádí služba, o které aplikace neví. Tyto informace jsou zpřístupněné vlastnostmi Error a ErrorKind formuláře, takže je můžete zobrazit uživateli.
K odstupňování kontroly nad tímto procesem můžete použít také funkce Patch a Errors. Ovládací prvek Formulář pro úpravy zpřístupňuje vlastnost Updates, abyste mohli přečíst hodnoty polí na formuláři. Pomocí této vlastnosti můžete také při připojení zavolat vlastní konektor a úplně tak obejít funkce Patch a SubmitForm.
Ověření
Před provedením změny záznamu by aplikace měla všemi možnými způsoby zajistit, aby tato změna byla akceptovatelná. To má dva důvody:
- Okamžitá zpětná vazba uživateli: Chybu je nejlepší opravit hned když k ní dojde, dokud ji má uživatel v paměti. Při každém dotyku nebo úhozu na klávesu se může objevit červený text, který označuje problém v zadání.
- Menší síťový provoz a kratší latence uživatele: Větší počet problémů zjištěných v aplikaci znamená menší komunikaci přes síť kvůli zjištění a řešení problémů. Každá komunikace zabere čas, během kterého musí uživatel čekat, než může pokračovat.
Power Apps nabízí dva nástroje pro ověření:
- Zdroj dat může poskytovat informace o tom, co je a co není platné. Čísla můžou mít například minimální a maximální hodnoty a některé položky můžou být povinné. K těmto informacím se dostanete pomocí funkce DataSourceInfo.
- Funkce Validate používá tytéž informace ke kontrole hodnoty v jednom sloupci nebo v celém záznamu.
Zpracování chyb
Výborně, záznam jste ověřili. Nastal čas ho aktualizovat pomocí funkce Patch.
Jenže problémům nemusí být konec. Síť přestala fungovat, ověření u služby selhalo nebo uživatel nemá ta správná oprávnění – to je jenom několik z možných chyb, na které může vaše aplikace narazit. Musí správně reagovat na chybové situace a poskytnout uživateli zpětnou vazbu a prostředky, jak chybu napravit.
Pokud dojde k chybě u zdroje dat, zaznamená aplikace automaticky informace o této chybě a zpřístupní je prostřednictvím funkce Errors. Chyby jsou přidružené k záznamům, u kterých nastaly problémy. Pokud se jedná o něco, co může uživatel opravit (například o problém s ověřením), může záznam znovu odeslat a chyby tím vymazat.
Pokud k chybě dojde při vytváření záznamu pomocí funkce Patch nebo Collect, neexistuje žádný záznam, ke kterému se chyby mají přidružit. V takovém případě vrátí funkce Patch prázdnou hodnotu, která se dá použít jako druhý argument funkce Errors. Chyby při vytváření se mažou pomocí další operace.
Funkce Errors vrací tabulku s informacemi o chybě. Můžou mezi ně patřit informace o sloupci, pokud se dá chyba přisoudit konkrétnímu sloupci. Chybové zprávy na úrovni sloupce používejte u ovládacích prvků popisků, které jsou poblíž místa, kde se na obrazovce pro úpravy tento sloupec nachází. Chybové zprávy na úrovni záznamu používejte, když je pole Sloupec v tabulce chyb prázdné, a to v blízkosti tlačítka Uložit pro celý formulář.
Práce s rozsáhlými zdroji dat
Při vytváření sestav z rozsáhlých zdrojů dat (čítajících milióny záznamů) chcete minimalizovat síťový provoz. Dejme tomu, že chcete vytvořit sestavu se všemi zákazníky v New Yorku, jejichž StatusCode má hodnotu Platinum. Tabulka Customers přitom obsahuje milióny záznamů.
Nechcete načíst tyto milióny zákazníků do své aplikace a pak vybrat ty, které potřebujete. Chcete, aby k tomuto výběru došlo v cloudové službě, kde je tato tabulka uložená, a přes síť se odeslaly jenom zvolené záznamy.
Většina funkcí, které můžete použít k výběru záznamů (ale ne všechny), se dá delegovat, což znamená, že se spouštějí v cloudové službě. Pokud chcete zjistit, jak na to, přečtěte si téma věnované delegování.
Kolekce
Kolekce jsou speciálním druhem zdroje dat. Jsou vůči aplikaci lokální a nezávisí na připojení k nějaké službě v cloudu, takže se informace nedají sdílet mezi zařízeními stejného uživatele nebo mezi uživateli. Až na několik výjimek fungují podobně jako jakýkoli jiný zdroj dat:
- Kolekce se dají vytvářet dynamicky pomocí funkce Collect. Nemusí být zřízené předem jako zdroje dat založené na připojení.
- Sloupce kolekce je možné kdykoli upravit pomocí funkce Collect.
- Kolekce umožňují duplicitní záznamy. V kolekci může existovat více než jedna kopie stejného záznamu. Funkce jako Remove provedou operaci s prvním nalezeným záznamem, pokud není zadaný argument All.
- Pomocí funkcí SaveData a LoadData můžete kopii kolekce uložit a znovu načíst. Informace jsou uložené v privátním umístění, ke kterému nemají přístup jiní uživatelé, aplikace ani zařízení.
- Pomocí ovládacích prvků Exportovat a Importovat můžete uložit a znovu načíst kopii kolekce do souboru, se kterým může uživatel pracovat.
Další informace o tom, jak pracovat s kolekcí jako se zdrojem dat, najdete v tématu věnovaném vytvoření a aktualizaci kolekce.
Kolekce se často používají k uchování globálního stavu aplikace. Možnosti dostupné pro správu stavu najdete v tématu o práci s proměnnými.
Poznámka
Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)
Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).