Funkce Blank, Coalesce, IsBlank a IsEmpty
Platí pro: aplikace plátna toky na počítači Dataverse sloupce vzorců aplikace řízené modelem Power Pages Power Platform CLI
Testuje, jestli je hodnota prázdná nebo jestli tabulka neobsahuje žádné záznamy, a umožňuje vytvářet prázdné hodnoty.
Přehled
Prázdné je zástupný symbol pro „žádná hodnota“ nebo „neznámá hodnota“. Například vlastnost Combo box ovládacího prvku Vybraná je prázdná pokud uživatel neprovedl výběr. Mnoho zdrojů dat může ukládat a vracet hodnoty NULL, které se v Power Apps znázorňují jako prázdné.
Jakákoli vlastnost nebo počítaná hodnota v Power Apps může být prázdná. Logická hodnota například obsahuje obvykle jednu z těchto dvou hodnot: true (pravda) nebo false (nepravda). Ale kromě těchto dvou hodnot to také může být prázdná hodnota, což naznačuje, že stav není znám. Je to podobné jako v Microsoft Excel, kde buňka listu je na začátku prázdná bez jakéhokoli obsahu, ale může mimo jiné uchovávat i hodnotu PRAVDA nebo NEPRAVDA. Kdykoli lze obsah buňky znovu vymazat a obnovit tak prázdný stav buňky.
Prázdný řetězec označuje řetězec, který neobsahuje žádné znaky. Funkce Len vrací nulu pro takový řetězec a lze jej napsat ve vzorcích jako dvě dvojité uvozovky, mezi nimiž nic není ""
. Některé ovládací prvky a zdroje dat používají prázdný řetězec k označení stavu „bez hodnoty“. Chcete-li zjednodušit vytváření aplikací, funkce IsBlank a Coalesce testují jak prázdné hodnoty, tak prázdné řetězce.
V souvislosti s funkcí IsEmpty je prázdná hodnota specifická pro tabulky, které neobsahují žádné záznamy. Struktura tabulky může být neporušená a obsahovat názvy sloupců, ale žádná data v tabulce nejsou. Tabulka může být napřed prázdná, pak se do ní umístí záznamy, takže nebude prázdná, a pak se tyto záznamy odeberou a bude znovu prázdná.
Poznámka:
Jsme v přechodném období. Do teď byla prázdná hodnota používána také k hlášení chyb, čímž bylo nemožné odlišit platnou „žádnou hodnotu“ od chyby. Z tohoto důvodu je momentálně ukládání prázdných hodnot podporováno jen u místních kolekcí. Můžete uložit prázdné hodnoty v jiných zdrojích dat, pokud zapnete experimentální funkci Správa chyb na úrovni vzorce pod Nastavení>Připravované funkce>Experimentální. Aktivně pracujeme na dokončení této funkce a dokončení správného oddělení prázdných hodnot od chyb.
prázdnou
Platí pro: Aplikace plátna Modelem řízené aplikace Dataverse sloupce vzorců
Funkce Blank vrací prázdnou hodnotu. Používá se k ukládání hodnot NULL do zdroje dat, který tyto hodnoty podporuje. V podstatě to znamená, že se všechny hodnoty z daného pole odeberou.
IsBlank
Platí pro: aplikace plátna modelem řízené aplikace
Funkce IsBlank testuje prázdnou hodnotu nebo prázdný řetězec. Test obsahuje prázdné řetězce, které usnadňují vytváření aplikací, protože některé zdroje dat a ovládací prvky používají prázdný řetězec, pokud není přítomna žádná hodnota. Pro testování výhradně prázdné hodnoty použijte if( Value = Blank(), ...
namísto IsBlank. Funkce IsBlank považuje prázdné tabulky za neprázdné a funkce IsEmpty slouží k testování tabulky.
Při povolení zpracování chyb u stávajících aplikací zvažte nahrazení funkce IsBlank za funkci IsBlankOrError, aby zůstalo zachováno stávající chování aplikace. Před přidáním zpracování chyb byla k vyjádření jak hodnot null, tak chybových hodnot v databázi používána prázdná hodnota. Zpracování chyb odděluje tyto dvě interpretace prázdné hodnoty, což by mohlo změnit chování stávajících aplikací, které nadále používají funkci IsBlank.
Vrácenou hodnotou funkce IsBlank je logická hodnota pravda nebo nepravda.
Coalesce
Platí pro: aplikace plátna modelem řízené aplikace
Funkce Coalesce vyhodnocuje svoje argumenty podle pořadí a vrací první hodnotu, která není prázdná nebo prázdný řetězec. Tuto funkci použijte k nahrazení prázdné hodnoty nebo prázdného řetězce jinou hodnotou, ale ponechání hodnot a řetězců, které nejsou prázdné. Pokud jsou všechny argumenty prázdné nebo prázdné řetězce, pak funkce vrátí hodnotu prázdná, což dělá z funkce Coalesce vhodný nástroj pro převod prázdných řetězců na prázdné hodnoty.
Coalesce( value1, value2 )
je stručnějším ekvivalentem If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
a nevyžaduje hodnota1 a hodnota2 k hodnotit dvakrát. Funkce If vrací prázdnou hodnotu, pokud neexistuje vzorec „else“, jako je tomu v tomto případě.
Všechny argumenty funkce Coalesce musí být stejného typu. Není možné kombinovat například čísla a textové řetězce. Návratová hodnota funkce Coalesce je tohoto běžného typu.
IsEmpty
Platí pro: aplikace plátna modelem řízené aplikace
Funkce IsEmpty testuje, jestli tabulka obsahuje nějaké záznamy. Je ekvivalentem k použití funkce CountRows a následné kontrole, jestli je výsledkem nula. Zkombinováním funkce IsEmpty s funkcí Errors můžete vyhledávat chyby ve zdroji dat.
Vrácenou hodnotou funkce IsEmpty je logická hodnota pravda nebo nepravda.
Syntaxe
Prázdné()
Sloučení( Hodnota1 [, Hodnota2, ... ] )
- Hodnoty – Povinné. Hodnoty, které se mají testovat. Každá hodnota je vyhodnocena v pořadí, dokud není nalezena hodnota, která není prázdná ani prázdný řetězec. Hodnoty po tomto bodě se nevyhodnocují.
JePrázdné( Hodnota )
- Hodnota – Povinné. Hodnota pro otestování prázdné hodnoty nebo prázdného řetězce.
IsEmpty( Tabulka )
- Tabulka – Povinné. Tabulka, ve které se má testovat výskyt záznamů.
Příklady
prázdnou
Poznámka:
Následující příklad momentálně funguje jenom pro místní kolekce. Můžete uložit prázdné hodnoty v jiných zdrojích dat, pokud zapnete experimentální funkci Správa chyb na úrovni vzorce pod Nastavení>Připravované funkce>Experimentální. Aktivně pracujeme na dokončení této funkce a dokončení oddělení prázdných hodnot od chyb.
Vytvořte aplikaci od začátku a přidejte ovládací prvek Button.
Vlastnost OnSelect tlačítka nastavte na tento vzorec:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
Zobrazte náhled aplikace, klikněte nebo klepněte na tlačítko, které jste přidali, a pak zavřete náhled.
V nabídce Soubor klikněte nebo klepněte na Kolekce.
Zobrazí se kolekce Cities, která zobrazuje jeden záznam s položkami Seattle a Rainy:
Klikněte nebo klepněte na šipku zpět a vraťte se do výchozího pracovního prostoru.
Přidejte ovládací prvek Label a jeho vlastnost Text nastavte na tento vzorec:
IsBlank( First( Cities ).Weather )
Popisek zobrazí hodnotu false, protože pole Weather obsahuje hodnotu (Rainy).
Přidejte druhé tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
Patch( Cities, First( Cities ), { Weather: Blank() } )
Zobrazte náhled aplikace, klikněte nebo klepněte na tlačítko, které jste přidali, a pak zavřete náhled.
Pole Weather prvního záznamu v kolekci Cities se nahradí prázdnou hodnotou, takže položka Rainy, která tam byla dříve, se odebere.
Popisek zobrazí hodnotu true, protože pole Weather už neobsahuje hodnotu.
Coalesce
Vzorec | Popis | Výsledek |
---|---|---|
Sloučit (prázdná(), 1) | Testuje hodnotu vrácenou z funkce Blank, která vždycky vrací prázdnou hodnotu. První argument je prázdný, takže vyhodnocování pokračuje dalšími argumenty až do nalezení hodnoty, která není prázdná ani prázdný řetězec. | 1 |
Coalesce( "", "2" ) | Testuje první argument, kterým je prázdný řetězec. První argument je prázdný řetězec, takže vyhodnocování pokračuje dalšími argumenty až do nalezení hodnoty, která není prázdná ani prázdný řetězec. | 2 |
Coalesce (Prázdné(), "", Prázdné(), "", "3", "4" ) | Coalesce začíná na začátku seznamu argumentů a postupně vyhodnocuje každý argument, dokud není nalezena neprázdná hodnota a neprázdný řetězec. V tomto případě první čtyři argumenty vrací prázdnou hodnotu nebo prázdný řetězec, takže vyhodnocování pokračuje pátým argumentem. Pátý argument není prázdná hodnota ani prázdný řetězec, takže hodnocení zde končí. Vrátí se hodnota pátého argumentu a šestý argument se nevyhodnocuje. | 3 |
Sloučit ( "" ) | Testuje první argument, kterým je prázdný řetězec. Protože první argument je prázdný řetězec a neexistují žádné další argumenty, funkce vrací prázdnou hodnotu. | prázdný |
IsBlank
Vytvořte aplikaci od začátku, přidejte ovládací prvek typu textový vstup a dejte mu název FirstName.
Přidejte popisek a do jeho vlastnosti Text nastavte tento vzorec:
If( IsBlank( FirstName.Text ), "First Name is a required field." )
Ve výchozím nastavení je ve vlastnosti Text ovládacího prvku typu textový vstup nastavený řetězec "Text input". Vlastnost obsahuje hodnotu, takže není prázdná a popisek nezobrazí žádnou zprávu.
Odeberte z ovládacího prvku typu textový vstup všechny znaky včetně všech mezer.
Vlastnost Text už neobsahuje žádné znaky, takže je prázdný řetězec a funkce IsBlank( FirstName.Text ) bude mít hodnotu true. Zobrazí se zpráva, že pole je povinné.
Informace o tom, jak provádět ověřování pomocí jiných nástrojů, najdete v tématech o funkci Validate a o práci se zdroji dat.
Další příklady:
Vzorec | Popis | Výsledek |
---|---|---|
JePrázdné(Prázdné()) | Testuje hodnotu vrácenou z funkce Blank, která vždycky vrací prázdnou hodnotu. | věrný |
IsBlank( "" ) | Řetězec, který neobsahuje žádné znaky | věrný |
IsBlank ("Ahoj") | Řetězec, který obsahuje jeden nebo více znaků | falešný |
IsBlank( Jakákoli kolekce ) | Kolekce existuje, a proto pro tuto funkci není prázdná, ani když neobsahuje žádné záznamy. Pokud chcete zkontrolovat, jestli kolekce obsahuje záznamy, použijte místo toho funkci IsEmpty. | falešný |
IsBlank( Mid( "Ahoj", 17, 2) ) | Počáteční znak pro funkci Mid je až za koncem řetězce. Výsledkem je prázdný řetězec. | věrný |
IsBlank( If( false, false ) ) | Funkce If bez argumentu ElseResult. Podmínka má vždycky hodnotu false, takže tato funkce If vždycky vrátí prázdnou hodnotu. | věrný |
IsEmpty
Vytvořte aplikaci od začátku a přidejte ovládací prvek Button.
Vlastnost OnSelect tlačítka nastavte na tento vzorec:
Sbírejte( IceCream, { Příchuť: "Jahoda", Množství: 300 }, { Příchuť: "Čokoláda", Množství: 100 } )
Zobrazte náhled aplikace, klikněte nebo klepněte na tlačítko, které jste přidali, a pak zavřete náhled.
Vytvoří se kolekce s názvem IceCream, která obsahuje tato data:
Tato kolekce má dva záznamy a není prázdná. IsEmpty( IceCream ) vrátí false a CountRows( IceCream ) vrátí 2.
Přidejte druhé tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
Čirá (zmrzlina)
Zobrazte náhled aplikace, klikněte nebo klepněte na druhé tlačítko a pak zavřete náhled.
Kolekce je teď prázdná:
Funkce Clear odebere z kolekce všechny záznamy, takže výsledkem je prázdná kolekce. IsEmpty( IceCream ) vrátí true a CountRows( IceCream ) vrátí 0.
Pomocí funkce IsEmpty můžete také otestovat, jestli je vypočítaná tabulka prázdná, jak ukazují tyto příklady:
Vzorec | Popis | Výsledek |
---|---|---|
IsEmpty ( [ 1, 2, 3 ] ) | Tabulka s jedním sloupcem obsahuje tři záznamy, takže není prázdná. | falešný |
IsEmpty ( [ ] ) | Tabulka s jedním sloupcem neobsahuje žádné záznamy, takže je prázdná. | věrný |
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) | Tabulka s jedním sloupcem neobsahuje žádné hodnoty větší než 5. Výsledek z funkce Filter neobsahuje žádné záznamy, takže je prázdný. | věrný |