Blank, Coalesce, IsBlank és IsEmpty függvény

A következőkre vonatkozik: Vászonalapú alkalmazások Asztali folyamatok képletoszlopai Dataverse Modellvezérelt alkalmazások Power Platform CLI

Megvizsgálja, hogy az érték üres-e, vagy hogy a tábla tartalmaz-e rekordokat, és lehetővé teszi üres értékek létrehozását.

Áttekintés

A Blank (üres) egy helyőrző, amely a „nincs érték” és az „ismeretlen érték” típusnak felel meg. A Kombinált lista vezérlőelem Kijelölve tulajdonsága például üres, ha a felhasználó nem jelölt ki semmit. Számos adatforrás támogatja a NULL értékek tárolását és visszaadását. Ezeket a Power Apps üres értékként jelöli.

A Power Apps bármilyen tulajdonsága vagy számított értéke lehet üres. Egy logikai érték például általában az igaz vagy hamis érték egyike. Emellett azonban üres is lehet; ez azt jelzi, hogy az állapot nem ismert. Ez hasonlít a Microsoft Excel megoldására, ahol a munkalapok cellái kezdetben üresek, nincsen bennük tartalom, de többek között IGAZ vagy HAMIS értékűek is lehetnek. Ha a cella tartalmát bármikor törlik, visszaáll az üres állapot.

Az üres sztring olyan sztring, amely nem tartalmaz karaktereket. A Len függvény a nulla értéket adja vissza az ilyen sztringekhez, és felvehető olyan képletekbe, amelyekben két idézőjel között nincs semmi: "". Bizonyos vezérlők és adatforrások üres sztringgel jelzik a „nincs érték” feltételt. Az alkalmazások létrehozásának leegyszerűsítése érdekében az IsBlank és a Coalesce függvény mind az üres értékeket, mind au üres sztringeket teszteli.

Az IsEmpty függvény kontextusában az üres érték a rekordokat nem tartalmazó táblákra vonatkozik. Lehet, hogy a tábla szerkezete hibátlan, és az összes oszlop neve megfelelő, de a tábla nem tartalmaz adatokat. Egy tábla kezdetben lehet üres, majd a rekordok felvitelét követően nem lesz üres, majd a rekordok eltávolítása után ismét üressé válhat.

Feljegyzés

Váltási időszakban vagyunk. Mostanáig a rendszer üres értéket használt a hibák jelentésére, így nem lehetett megkülönböztetni a hibákat és a „nincs érték” állapotot. Emiatt az üres értékek tárolása jelenleg csak helyi gyűjtemények esetében támogatott. Üres értékeket tárolhat egyéb adatforrásokban, ha bekapcsolja a Képletszintű hibakezelés kísérleti funkciót a Beállítások>Hamarosan megjelenő funkciók>Kísérleti pontban. Aktívan dolgozunk a szolgáltatás végleges kialakításán, és igyekszünk, hogy kialakítsuk a hibák és az üres értékek közötti különbségtételt.

Üres

A következőkre vonatkozik: Vászonalapú alkalmazások Modellvezérelt alkalmazások Dataverse képletoszlopai

A Blank függvény egy üres értéket ad vissza. Ezzel tárolhat NULL értéket az ilyen értéket támogató adatforrásokban, és távolíthat el értéket az adott mezőből.

IsBlank

A következőkre vonatkozik: Vászonalapú alkalmazások Modellvezérelt alkalmazások

Az IsBlank függvény üres értékre vagy üres sztringre vonatkozó teszteket végez. A teszt üres sztringeket használ az alkalmazások létrehozásának megkönnyítéséhez, mivel egyes adatforrások és vezérlők üres sztringeket használnak, ha nincs megadva érték. Ha kifejezetten üres értékre szeretne tesztelni, használja az if( Value = Blank(), ... függvényt az IsBlank helyett. Az IsBlank függvény az üres táblákat nem tekinti üresnek, és az IsEmpty függvényt kell használni a táblák teszteléséhez.

Ha meglévő alkalmazások hibakezelését engedélyezi, fontolja meg az IsBlank helyett az IsBlankOrError használatát, hogy megőrizze az alkalmazás meglévő viselkedését. A hibakezelés bevezetése előtt az üres érték volt használatos az adatbázisokból származó null értékek és a hibaértékek megjelenítésére. A hibakezelés szétválasztja az üres érték e két értelmezését, ami megváltoztathatja az IsBlank függvényt továbbra is használó alkalmazások meglévő viselkedését.

Az IsBlank visszatérési értéke egy logikai igaz vagy hamis érték.

Coalesce

A következőkre vonatkozik: Vászonalapú alkalmazások Modellvezérelt alkalmazások

A Coalesce függvény sorban kiértékeli a megadott argumentumokat, és az első nem üres értéket vagy üres sztringet adja vissza. Ezzel a függvénnyel egy üres értéket üres vagy más értékkel rendelkező üres karakterláncot cserélhet le, de a nem üres értékek és a nem üres karakterláncok értékei változatlanok maradnak. Ha az összes argumentum üres vagy üres karakterlánc, akkor a függvény üres értéket ad vissza, így a Coalesce létrehozása jó módszer az üres karakterláncok üres értékekké alakítására.

A Coalesce( value1, value2 ) az If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) tömörebb változata; nem igényli a value1 és a value2 kétszeri kiértékelését. Az If függvényüres értéket ad vissza, ha nincs „else” képlet (mint ebben a példában).

A Coalesce argumentumainak ugyanolyan típusúnak kell lennie, például nem keverhetőek a szám és a szöveges sztringek. A Coalesce visszatérési értéke ez a közös típus.

IsEmpty

A következőkre vonatkozik: Vászonalapú alkalmazások Modellvezérelt alkalmazások

Az IsEmpty függvény azt vizsgálja, hogy az adott tábla tartalmaz-e rekordokat. Egyenértékű a CountRows függvény használatával, majd a nullás érték ellenőrzésével. Az IsEmpty és az Errors függvény kombinálásával hibákat is kereshet az adatforrásban.

Az IsEmpty visszatérési értéke egy logikai igaz vagy hamis.

Szintaxis

Blank()

Coalesce( Érték1 [, Érték2, ... ] )

  • Érték(ek) – Kötelező. A vizsgálni kívánt értékek. Az egyes értékeket a rendszer sorban kiértékeli, amíg üres értéket nem kap, illetve üres sztringet nem talál. Az utána következő értékeket nem értékeli ki.

IsBlank( Érték )

  • Érték – kötelező. Az érték, amelyben üres értéket vagy üres sztringet kell keresni.

IsEmpty( Tábla )

  • Tábla – Kötelező megadni. A tábla, amelyben a rekordok meglétét szeretné vizsgálni.

Példák

Üres

Feljegyzés

A következő példa jelenleg csak helyi gyűjtemények esetében működik. Üres értékeket tárolhat egyéb adatforrásokban, ha bekapcsolja a Képletszintű hibakezelés kísérleti funkciót a Beállítások>Hamarosan megjelenő funkciók>Kísérleti pontban. Aktívan dolgozunk a szolgáltatás végleges kialakításán, és igyekszünk, hogy kialakítsuk a hibák és az üres értékek közötti különbségtételt.

  1. Hozzon létre egy előzmény nélküli új alkalmazást, és vegyen fel egy Gomb vezérlőelemet.

  2. A gomb OnSelect (Kiválasztáskor) tulajdonságát állítsa a következő képletre:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Az előnézettel ellenőrizze az alkalmazást, kattintson vagy koppintson a hozzáadott gombra, majd zárja be az előnézetet.

  4. A Fájl menüben kattintson vagy koppintson a Gyűjtemények lehetőségre.

    Megjelenik a Cities gyűjtemény, amelyben egyetlen rekord található „Seattle” és „Rainy” (Esős) értékekkel:

    A gyűjtemény, amelyben Seattle esős (Rainy) időjárással szerepel.

  5. Kattintson vagy koppintson a vissza nyílra, hogy visszatérjen az alapértelmezett munkaterületre.

  6. Adjon hozzá egy Címke vezérlőelemet, és a Szöveg tulajdonságát állítsa a következő képletre:

    IsBlank( First( Cities ).Weather )
    

    A felirat hamis értéket mutat, mert a Weather mező már tartalmaz értéket („Rainy”).

  7. Vegyen fel egy második gombot, és az OnSelect (Kiválasztáskor) tulajdonság értékeként adja meg ezt a képletet:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Az előnézettel ellenőrizze az alkalmazást, kattintson vagy koppintson a hozzáadott gombra, majd zárja be az előnézetet.

    A Cities tábla első rekordjának Weather mezője ki lett cserélve egy üres elemre, ezzel eltávolítva a korábbi „Rainy” értéket.

    A gyűjtemény, amelyben Seattle Weather mezője üres értékkel szerepel.

    A címke igaz értéket mutat, mert a Weather mező már nem tartalmaz értéket.

Coalesce

Képlet Ismertetés Eredmény
Coalesce( Blank(), 1 ) A Blank függvény visszatérési értékét vizsgálja, amely minden esetben üres értéket ad vissza. Mivel az első argumentum üres, a kiértékelés a következő argumentumot vizsgálja, egész addig, amíg egy nem üres értéket és egy nem üres sztringet talál. 1
Coalesce( "", "2" ) Teszteli az első argumentumot, amely üres sztring. Mivel az első argumentum üres sztring, a kiértékelés a következő argumentumot vizsgálja, egész addig, amíg egy nem üres értéket és egy nem üres sztringet talál. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) A Coalesce az argumentum-lista elejétől kezdve egyenként kiértékeli az argumentumokat, amíg egy nem üres értéket és egy nem üres sztringet talál. Jelen esetben az első négy argumentum mind üres értéket vagy üres sztringet ad vissza, ezért a kiértékelés az ötödik argumentumig folytatódik. Az ötödik argumentum nem üres és nem üres sztring, ezért a kiértékelés megszakad. Az ötödik argumentum lesz a visszaadott érték, és a hatodik argumentum kiértékelésére már nem kerül sor. 3
Coalesce( "" ) Teszteli az első argumentumot, amely üres sztring. Mivel az első argumentum üres sztring, és nincs több argumentum, a függvény üres értéket ad vissza. üres

IsBlank

  1. Hozzon létre egy előzmény nélküli új alkalmazást, és vegyen fel egy szövegbeviteli vezérlő; nevezze úgy, hogy Keresztnév.

  2. Adjon hozzá egy címkét, majd állítsa be a Szöveg tulajdonságát a következő képletnek megfelelően:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    Alapértelmezés szerint a szövegbeviteli vezérlő Szöveg tulajdonsága az, hogy „Text input” („Szöveges bevitel”). Mivel a tulajdonság értéket tartalmaz, nem számít üresnek, így a címke nem mutatja a megadott üzenetet.

  3. Távolítsa el az összes karaktert a szövegbeviteli vezérlőből, beleértve a szóközöket is.

    Mivel a Szöveg tulajdonság már nem tartalmaz karaktereket, üres sztringnek számít, így az IsBlank( FirstName.Text ) értéke igaz. Megjelenik a mező kitöltésére felszólító üzenet.

A különféle eszközökkel történő további ellenőrzésről a Validate függvény használatát és az adatforrások kezelését ismertető cikkben olvashat bővebben.

Más példák:

Képlet Ismertetés Eredmény
IsBlank( Blank() ) A Blank függvény visszatérési értékét vizsgálja, amely minden esetben üres értéket ad vissza. true
IsBlank( "" ) Karaktereket nem tartalmazó sztring. true
IsBlank( "Hello" ) Egy vagy több karaktert tartalmazó sztring. false
IsBlank( AnyCollection ) Mivel a gyűjtemény létezik, ezért nem üres, még akkor sem, ha nem tartalmaz rekordokat. Ha azt szeretné vizsgálni, hogy a gyűjtemény üres-e, használja az IsEmpty függvényt. false
IsBlank( Mid( "Hello", 17, 2 ) ) A Mid függvény kezdő karaktere a sztring vége után van. Az eredmény üres sztring lesz. true
IsBlank( If( false, false ) ) If függvény, amelyben nincs ElseResult. Mivel a feltétel mindig hamis, ez az If függvény mindig üres eredménnyel fog visszatérni. true

IsEmpty

  1. Hozzon létre egy előzmény nélküli új alkalmazást, és vegyen fel egy Gomb vezérlőelemet.

  2. A gomb OnSelect (Kiválasztáskor) tulajdonságát állítsa a következő képletre:

    Collect( Jégkrém, { Íz: "Eper", Mennyiség: 300 }, { Íz: "Csokoládé", Mennyiség: 100 } )

  3. Az előnézettel ellenőrizze az alkalmazást, kattintson vagy koppintson a hozzáadott gombra, majd zárja be az előnézetet.

    Létrejön egy Jégkrém nevű gyűjtemény a következő adatokkal:

    Strawberry (eper) és Chocolate (csokoládé) ízeket tartalmazó tábla 300 és 100 mennyiséggel.

    A gyűjtemény két rekordot tartalmaz, így nem számít üresnek. Az IsEmpty( Jégkrém )hamis értéket ad vissza, a CountRows( Jégkrém ) eredménye pedig 2 lesz.

  4. Vegyen fel egy második gombot, és az OnSelect (Kiválasztáskor) tulajdonság értékeként adja meg ezt a képletet:

    Clear( Jégkrém )

  5. Az előnézettel ellenőrizze az alkalmazást, kattintson vagy koppintson a második gombra, majd zárja be az előnézetet.

    A gyűjtemény most már üres:

    Íz és Mennyiség gyűjtemény üres gyűjteményként.

    A Clear függvény eltávolítja az összes rekordot a gyűjteményből, így az eredmény egy üres gyűjtemény lesz. Az IsEmpty( Jégkrém )igaz értéket ad vissza, a CountRows( Jégkrém ) eredménye pedig 0.

Mint ahogy az a következő példákban látható, az IsEmpty függvénnyel azt is ellenőrizheti, hogy a számított tábla tartalmaz-e rekordokat:

Képlet Ismertetés Eredmény
IsEmpty( [ 1, 2, 3 ] ) Az egyoszlopos tábla három rekordot tartalmaz, ezért nem számít üresnek. false
IsEmpty( [ ] ) Az egyoszlopos tábla nem tartalmaz rekordokat, ezért üresnek számít. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Az egyoszlopos tábla nem tartalmaz olyan értéket, amely nagyobb, mint 5. A szűrés eredménye nem tartalmaz rekordokat, ezért üresnek számít. true