Funkcie Blank, Coalesce, IsBlank a IsEmpty

Vzťahuje sa na: Aplikácie plátna Postupy v počítačovom prostredí Stĺpce Dataverse vzorcov Modelom riadené aplikácie 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 miesto je zástupný symbol pre „žiadnu hodnotu“ alebo „neznámu hodnotu“. Napríklad vlastnosť Selected ovládacieho prvku Rozbaľovacie pole 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 odkazuje na 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 Coalesceprá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

Vzťahuje sa na: Aplikácie plátna Stĺpce vzorcov modelom riadených aplikácií Dataverse

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 Modelom riadené aplikácie

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 nepovažuje prázdne tabuľky za prázdne a funkcia IsEmpty by sa mala použiť na testovanie tabuľky.

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 Modelom riadené aplikácie

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ší ekvivalent pre If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) a nevyžaduje dvojnásobné vyhodnocovanie pre value1 a value2. 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 Modelom riadené aplikácie

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

Blank()

CoalesceValue1 [, Value2, ... ] )

  • Value1, Value2 – 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ú.

IsBlankValue )

  • Hodnota – povinné. Hodnota na testovanie na prázdnu hodnotu alebo prázdny reťazec.

IsEmptyTable )

  • Table – 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.

  1. Vytvorte úplne novú aplikáciu a pridajte ovládací prvok Tlačidlo.

  2. Vlastnosť tlačidla OnSelect nastavte na tento vzorec:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Zobrazte ukážku aplikácie, kliknite alebo ťuknite na pridané tlačidlo a potom ukážku zatvorte.

  4. 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):

    Kolekcia zobrazujúca Seattle a daždivé počasie.

  5. Kliknutím alebo ťuknutím na šípku späť sa vráťte do predvoleného pracovného priestoru.

  6. 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)).

  7. Pridajte druhé tlačidlo a jeho vlastnosť OnSelect nastavte na tento vzorec:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. 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á.

    Kolekcia zobrazujúca Seattle s prázdnym poľom Weather.

    Označenie zobrazuje pravda, pretože pole Weather už neobsahuje hodnotu.

Coalesce

Vzorec Popis Výsledok
Coalesce( 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
Coalesce( "", "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
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Funkcia Coalesce začína na začiatku zoznamu argumentov a vyhodnocuje každý argument, až kým nenájde hodnotu, ktorá nie je prázdna 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
Coalesce( "" ) 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. blank

IsBlank

  1. Vytvorte úplne novú aplikáciu, pridajte ovládací prvok zadávanie textu a pomenujte ho FirstName.

  2. 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.

  3. 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( "Hello" ) Reťazec, ktorý obsahuje jeden alebo viac znakov. nepravda
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. nepravda
IsBlank( Mid( "Hello", 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

  1. Vytvorte úplne novú aplikáciu a pridajte ovládací prvok Tlačidlo.

  2. Vlastnosť tlačidla OnSelect nastavte na tento vzorec:

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. 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:

    Stôl s príchuťou jahôd a čokolády v množstve 300 a 100.

    Táto kolekcia obsahuje dva záznamy a nie je prázdna. Funkcia IsEmpty( IceCream ) vracia hodnotu nepravda a funkcia CountRows( IceCream ) vracia hodnotu 2.

  4. Pridajte druhé tlačidlo a jeho vlastnosť OnSelect nastavte na tento vzorec:

    Clear( IceCream )

  5. Zobrazte ukážku aplikácie, kliknite alebo ťuknite na druhé tlačidlo a potom ukážku zatvorte.

    Kolekcia je teraz prázdna:

    Zbierka s príchuťou a množstvom ako prázdna zbierka.

    Funkcia Clear odstráni z kolekcie všetky záznamy, takže výsledkom je prázdna kolekcia. Funkcia IsEmpty( IceCream ) vracia hodnotu pravda a funkcia CountRows( IceCream ) vracia hodnotu 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. nepravda
IsEmpty( [ ] ) Tabuľka s jedným stĺpcom neobsahuje žiadne záznamy, takže je prázdna. true
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