Blank, Coalesce, IsBlank és IsEmpty függvény
A következőkre vonatkozik: Vászonalapú alkalmazások Asztali folyamatok Dataverse képletoszlopai Modellvezérelt alkalmazások Power Pages 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
Az üres a "nincs érték" vagy az "ismeretlen érték" helyőrzője. Egy kombinált lista vezérlőelem Kijelölt 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 karakterlánc olyan karakterláncra utal, 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.
Coalesce( value1, value2 )
a tömörebb megfelelője, If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
és nem igényli az érték1 és az érték2 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
Üres()
Egyesítés( Érték1 [; Érték2; ... ] )
- Értékek – 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ő. 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.
Hozzon létre egy előzmény nélküli új alkalmazást, és vegyen fel egy Gomb vezérlőelemet.
A gomb OnSelect (Kiválasztáskor) tulajdonságát állítsa a következő képletre:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
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 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:
Kattintson vagy koppintson a vissza nyílra, hogy visszatérjen az alapértelmezett munkaterületre.
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”).
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() } )
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 címke igaz értéket mutat, mert a Weather mező már nem tartalmaz értéket.
Coalesce
Képlet | Ismertetés | Eredmény |
---|---|---|
Egyesítés( 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" ) | Az egyesítés az argumentumlista elején kezdődik, és sorban kiértékeli az egyes argumentumokat, amíg nem talál nem üres értéket és nem üres karakterláncot. 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 |
Összeolvadás( "" ) | 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
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.
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.
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. | igaz |
IsBlank( "" ) | Karaktereket nem tartalmazó sztring. | igaz |
IsBlank( "Helló" ) | Egy vagy több karaktert tartalmazó sztring. | téves |
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. | téves |
IsBlank( Mid( "Helló", 17, 2 ) ) | A Mid függvény kezdő karaktere a sztring vége után van. Az eredmény üres sztring lesz. | igaz |
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. | igaz |
IsEmpty
Hozzon létre egy előzmény nélküli új alkalmazást, és vegyen fel egy Gomb vezérlőelemet.
A gomb OnSelect (Kiválasztáskor) tulajdonságát állítsa a következő képletre:
Collect( IceCream,Íz { : "Eper", Mennyiség: 300,Íz } { : "Csokoládé", Mennyiség: 100 } )
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:
A gyűjtemény két rekordot tartalmaz, így nem számít üresnek. Az IsEmpty( IceCream ) hamis értéket ad vissza, a CountRows( IceCream ) pedig 2 értéket ad vissza.
Vegyen fel egy második gombot, és az OnSelect (Kiválasztáskor) tulajdonság értékeként adja meg ezt a képletet:
Clear( IceCream )
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:
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( IceCream ) függvény igaz értéket ad vissza, a CountRows( IceCream ) értéke 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. | téves |
IsEmpty( [ ] ) | Az egyoszlopos tábla nem tartalmaz rekordokat, ezért üresnek számít. | igaz |
IsEmpty( szűrő( [ 1, 2, 3 ], érték > 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. | igaz |