Funkcie Blank, Coalesce, IsBlank a IsEmpty
Vzťahuje sa na: aplikácie plátna toky na počítači Dataverse stĺpce vzorcov aplikácie s podporou modelov Power Pages Power Platform CLI
Testuje, či je hodnota prázdna alebo či tabuľka neobsahuje žiadne záznamy a umožňuje vytvárať prázdne hodnoty.
Prehľad
Prázdne je zástupný symbol pre „žiadnu hodnotu“ alebo „neznámu hodnotu“. Napríklad Combo box ovládací prvok Vybraná vlastnosť je prázdna ak používateľ nevykonal výber. Mnohé zdroje údajov môžu ukladať a vracať hodnoty NULL, ktoré sú v službe Power Apps zastúpené ako prázdne.
Akákoľvek vlastnosť alebo vypočítaná hodnota v Power Apps môže byť prázdna. Napríklad logická hodnota obsahuje za normálnych okolností jednu z dvoch hodnôt: pravda alebo nepravda. Ale okrem týchto dvoch tiež môže byť prázdna, čo naznačuje, že stav nie je známy. Je to podobné ako v programe Microsoft Excel, kde bunka hárka je najskôr prázdna bez obsah, ale môže mať, okrem iných, aj hodnoty PRAVDA alebo NEPRAVDA. Obsah bunky sa dá kedykoľvek znova vymazať a tým sa obnoví jej prázdny stav.
Prázdny reťazec označuje reťazec, ktorý neobsahuje žiadne znaky. Funkcia Len vráti nulu pre taký reťazec a dá sa zapísať do vzorcov ako dve dvojité úvodzovky bez toho, aby medzi nimi bolo niečo ""
. Niektoré ovládacie prvky a zdroje údajov používajú prázdny reťazec na označenie stavu „žiadna hodnota“. Na zjednodušenie tvorby aplikácie testujú funkcie IsBlank a Coalesce prázdne hodnoty alebo prázdne reťazce.
V kontexte funkcie IsEmpty je prázdny špecifický pre tabuľky, ktoré neobsahujú žiadne záznamy. Štruktúra tabuľky môže byť neporušená, môže obsahovať názvy stĺpcov, ale nebudú v nej žiadne údaje. Tabuľka môže byť na začiatku prázdna, po vložení záznamov už prázdna nebude a keď sa z nej záznamy odoberú, stane sa opäť prázdnou.
Poznámka
Sme v prechodnom období. Doteraz sa stav prázdny tiež používa na hlásenie chýb, čo znemožňuje rozlíšiť platnú „žiadnu hodnotu“ od chyby. Z tohto dôvodu v súčasnosti je ukladanie prázdnych hodnôt podporované iba v prípade lokálnych kolekcií. Môžete uložiť prázdne hodnoty v iných zdrojoch údajov, ak zapnete experimentálnu funkciu Správa chýb na úrovni vzorca v časti Nastavenia > Pripravované funkcie > Experimentálne. Aktívne pracujeme na dokončení tejto funkcie a dokončení správneho odlíšenia hodnôt prázdny od chýb.
Prázdna
Platí pre: aplikácie plátna aplikácie s podporou modelov Dataverse stĺpce vzorcov
Funkcia Blank vráti prázdnu hodnotu. Používa sa na ukladanie hodnoty NULL do zdroja údajov podporujúceho tieto hodnoty, čím sa z daného poľa odstránia všetky hodnoty.
IsBlank
Vzťahuje sa na: aplikácie plátna aplikácie s podporou modelov
Funkcia IsBlank pre hodnotu prázdny alebo prázdny reťazec. Test obsahuje prázdne reťazce na uľahčenie vytvárania aplikácií, pretože niektoré zdroje údajov a ovládacie prvky používajú prázdny reťazec, keď nie je prítomná žiadna hodnota. Na konkrétne testovanie prázdnej hodnoty použite if( Value = Blank(), ...
namiesto IsBlank. Funkcia IsBlank považuje prázdne tabuľky za neprázdne a na testovanie tabuľky by sa mala použiť funkcia IsEmpty .
Pri povolení spracovania chýb pre existujúce aplikácie zvážte výmenu IsBlank za IsBlankOrError na zachovanie existujúceho správania aplikácie. Pred pridaním spracovania chýb sa používala prázdna hodnota bola použitá na vyjadrenie nulových hodnôt z databáz aj chybových hodnôt. Spracovanie chýb oddeľuje tieto dva interpretácie prázdnej hodnoty, čo by mohlo zmeniť správanie existujúcich aplikácií, ktoré aj naďalej používajú IsBlank.
Vrátená hodnota pre IsBlank je booleovská pravda alebo nepravda.
Coalesce
Vzťahuje sa na: aplikácie plátna aplikácie s podporou modelov
Funkcia Coalesce vyhodnocuje svoje argumenty poporiadku a vracia prvú hodnotu, ktorá nie je prázdna alebo prázdny reťazec. Túto funkciu použite na nahradenie prázdnej hodnoty alebo prázdneho reťazca s inou hodnotou, ale neprázdne hodnoty a hodnoty bez reťazcov zostanú nezmenené. Ak sú všetky argumenty prázdne alebo prázdne reťazce, potom funkcia vráti prázdny, takže Coalesce je dobrý spôsob, ako previesť prázdne reťazce na prázdne hodnoty.
Coalesce( value1, value2 )
je výstižnejším ekvivalentom If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
a nevyžaduje hodnota1 a hodnota2 na byť hodnotené dvakrát. Funkcia If vracia prázdnu hodnotu, ak neexistuje vzorec „inak“, ako je to v tomto prípade.
Všetky argumenty funkcie Coalesce musia byť rovnakého typu, nie je napríklad možné kombinovať čísla s textovými reťazcami. Návratová hodnota z Coalesce je tohto bežného typu.
IsEmpty
Vzťahuje sa na: aplikácie plátna aplikácie s podporou modelov
Funkcia IsEmpty testuje, či tabuľka obsahuje nejaké záznamy. Je ekvivalentom používania funkcie CountRows a kontroly nuly. Kombináciou funkcie IsEmpty s funkciou Errors môžete kontrolovať chyby v zdroji údajov.
Vrátená hodnota pre IsEmpty je booleovská pravda alebo nepravda.
Syntax
Prázdne()
Zlúčiť( Hodnota1 [, Hodnota2, ... ] )
- Hodnoty – povinné. Hodnoty, ktoré sa majú testovať. Každá hodnota sa vyhodnocuje v poradí, kým sa nenájde hodnota, ktoré nie je prázdna a neprázdny reťazec. Hodnoty po tomto bode sa nevyhodnocujú.
IsBlank( Hodnota )
- Hodnota – povinné. Hodnota na testovanie na prázdnu hodnotu alebo prázdny reťazec.
IsEmpty( Tabuľka )
- Tabuľka – povinné. Tabuľka, v ktorej sa majú testovať záznamy.
Príklady
Prázdna
Poznámka
V súčasnosti platí nasledujúci príklad iba pre lokálne kolekcie. Môžete uložiť prázdne hodnoty v iných zdrojoch údajov, ak zapnete experimentálnu funkciu Správa chýb na úrovni vzorca v časti Nastavenia > Pripravované funkcie > Experimentálne. Aktívne pracujeme na dokončení tejto funkcie a dokončení odlíšenia prázdnych hodnôt od chýb.
Vytvorte úplne novú aplikáciu a pridajte ovládací prvok Tlačidlo.
Vlastnosť tlačidla OnSelect nastavte na tento vzorec:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
Zobrazte ukážku aplikácie, kliknite alebo ťuknite na pridané tlačidlo a potom ukážku zatvorte.
V ponuke Súbor kliknite alebo ťuknite na položku Kolekcie.
Zobrazí sa kolekcia Cities (Mestá), a bude zobrazovať jeden záznam s hodnotami „Seattle“ a „Rainy“ (Daždivo):
Kliknutím alebo ťuknutím na šípku späť sa vráťte do predvoleného pracovného priestoru.
Pridajte ovládací prvok Označenie a jeho vlastnosť Text nastavte na tento vzorec:
IsBlank( First( Cities ).Weather )
Označenie má hodnotu nepravda, pretože pole Weather (Počasie) obsahuje hodnotu („Rainy“ (Daždivo)).
Pridajte druhé tlačidlo a jeho vlastnosť OnSelect nastavte na tento vzorec:
Patch( Cities, First( Cities ), { Weather: Blank() } )
Zobrazte ukážku aplikácie, kliknite alebo ťuknite na pridané tlačidlo a potom ukážku zatvorte.
Pole Weather prvého záznamu v kolekcii Cities je nahradené prázdnou hodnotou a hodnota „Rainy“, ktorá tam bola predtým, je odstránená.
Označenie zobrazuje pravda, pretože pole Weather už neobsahuje hodnotu.
Coalesce
Vzorec | Popis | Výsledok |
---|---|---|
Zlúčiť ( Blank(), 1 ) | Testuje hodnotu vrátenú funkciou Blank, ktorá vždy vracia prázdnu hodnotu. Keďže prvý argument je prázdny, vyhodnocovanie pokračuje ďalším argumentom, až kým sa nenájde hodnota, ktorá nie je prázdna a neprázdny reťazec. | 1 |
Zlúčiť ( "", "2" ) | Testuje prvý argument, ktorým je prázdny reťazec. Keďže prvý argument je prázdny reťazec, vyhodnocovanie pokračuje ďalším argumentom, až kým sa nenájde hodnota, ktorá nie je prázdna a neprázdny reťazec. | 2 |
Zlúčiť (Prázdna (), "", Prázdna (), "", "3", "4" ) | Coalesce začína na začiatku zoznamu argumentov a postupne vyhodnocuje každý argument, kým sa nenájde prázdna hodnota a neprázdny reťazec. V tomto prípade prvé štyri argumenty vrátili prázdne hodnoty alebo prázdny reťazec, takže vyhodnocovanie pokračuje piatym argumentom. Piaty argument nie je prázdny a neprázdny reťazec, takže hodnotenie tu končí. Hodnota piateho argumentu sa vráti a šiesty argument sa nevyhodnocuje. | 3 |
Zlúčiť ( "" ) | Testuje prvý argument, ktorým je prázdny reťazec. Pretože prvý argument je prázdny reťazec a už neexistujú žiadne ďalšie argumenty, funkcia vráti prázdnu hodnotu. | prázdna |
IsBlank
Vytvorte úplne novú aplikáciu, pridajte ovládací prvok zadávanie textu a pomenujte ho FirstName.
Pridajte označenie a do jeho vlastnosti Text zadajte tento vzorec:
If( IsBlank( FirstName.Text ), "First Name is a required field." )
Podľa predvoleného nastavenia je vlastnosť Text ovládacieho prvku zadávania textu nastavená na hodnotu "Text input". Keďže vlastnosť obsahuje hodnotu, nie je prázdna. Označenie nezobrazí žiadnu správu.
Odstráňte z ovládacieho prvku zadávanie textu všetky znaky vrátane medzier.
Keďže vlastnosť Text už neobsahuje žiadne znaky, je to prázdny reťazec a časť IsBlank (FirstName.Text) bude mať hodnotu pravda. Zobrazí sa správa, že pole je povinné.
Informácie o tom, ako vykonať overenie pomocou iných nástrojov nájdete článkoch o funkcii Validate a o práci so zdrojmi údajov.
Ďalšie príklady:
Vzorec | Popis | Výsledok |
---|---|---|
IsBlank( Blank() ) | Testuje hodnotu vrátenú funkciou Blank, ktorá vždy vracia prázdnu hodnotu. | pravda |
IsBlank( "" ) | Reťazec, ktorý neobsahuje žiadne znaky. | pravda |
IsBlank("Ahoj") | Reťazec, ktorý obsahuje jeden alebo viac znakov. | falošný |
IsBlank( AnyCollection ) | Keďže kolekcia existuje, nie je prázdna, dokonca ani v prípade, že neobsahuje žiadne záznamy. Ak chcete skontrolovať, či je kolekcia prázdna, použite namiesto toho funkciu IsEmpty. | falošný |
IsBlank( Mid( "Ahoj", 17, 2) ) | Počiatočný znak pre funkciu Mid je za koncom reťazca. Výsledkom je prázdny reťazec. | pravda |
IsBlank( If( false, false) ) | Funkcia If bez hodnoty ElseResult. Keďže podmienka má vždy hodnotu nepravda, funkcia If vráti vždy prázdnu hodnotu. | pravda |
IsEmpty
Vytvorte úplne novú aplikáciu a pridajte ovládací prvok Tlačidlo.
Vlastnosť tlačidla OnSelect nastavte na tento vzorec:
Zbierajte( Zmrzlina, { Príchuť: "Jahoda", Množstvo: 300 }, { Príchuť: "Čokoláda", Množstvo: 100 } )
Zobrazte ukážku aplikácie, kliknite alebo ťuknite na pridané tlačidlo a potom ukážku zatvorte.
Vytvorí sa kolekcia s názvom IceCream (Zmrzlina) obsahujúca tieto údaje:
Táto kolekcia obsahuje dva záznamy a nie je prázdna. IsEmpty( IceCream ) vráti false a CountRows( IceCream ) vráti 2.
Pridajte druhé tlačidlo a jeho vlastnosť OnSelect nastavte na tento vzorec:
Clear (IceCream)
Zobrazte ukážku aplikácie, kliknite alebo ťuknite na druhé tlačidlo a potom ukážku zatvorte.
Kolekcia je teraz prázdna:
Funkcia Clear odstráni z kolekcie všetky záznamy, takže výsledkom je prázdna kolekcia. IsEmpty( IceCream ) vráti true a CountRows( IceCream ) vráti 0.
Pomocou funkcie IsEmpty môžete otestovať, či je vypočítaná tabuľka prázdna, tak ako to uvádzajú nasledujúce príklady:
Vzorec | Popis | Výsledok |
---|---|---|
IsEmpty ( [ 1, 2, 3 ] ) | Tabuľka s jedným stĺpcom obsahuje tri záznamy, takže nie je prázdna. | falošný |
IsEmpty ( [ ] ) | Tabuľka s jedným stĺpcom neobsahuje žiadne záznamy, takže je prázdna. | pravda |
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) | Tabuľka s jedným stĺpcom neobsahuje žiadne hodnoty väčšie ako 5. Výsledok z funkcie filter neobsahuje žiadne záznamy a je prázdny. | pravda |