Funktionerna tom, sammanslagning, IsBlank och IsEmpty i Power AppsBlank, Coalesce, IsBlank, and IsEmpty functions in Power Apps

Testar om ett värde är blank eller en tabell inte innehåller poster och ger ett sätt att skapa blank värden.Tests whether a value is blank or a table contains no records, and provides a way to create blank values.

ÖversiktOverview

Blank är en platshållare för "inget värde" eller "okänt värde."Blank is a placeholder for "no value" or "unknown value." Till exempel är en kombinations Rute kontroll egenskapen markerad om användaren inte har gjort något val.For example, a Combo box control's Selected property is blank if the user hasn't made a selection. Många data källor kan lagra och returnera NULL-värden som visas i Power apps som tomma.Many data sources can store and return NULL values, which are represented in Power Apps as blank.

Alla egenskaper eller beräknade värden i Power Apps kan vara tomma.Any property or calculated value in Power Apps can be blank. Till exempel har ett booleskt värde vanligtvis ett av två värden: true eller false.For example, a Boolean value normally has one of two values: true or false. Förutom dessa två kan det också vara tomt som anger att statusen inte är känd.But in addition to these two, it can also be blank indicating that the state is not known. Detta liknar Microsoft Excel, där en kalkyl blads cell börjar visas som Tom utan innehåll, men kan innehålla värdena True eller false (bland annat).This is similar to Microsoft Excel, where a worksheet cell starts out as blank with no contents but can hold the values TRUE or FALSE (among others). När som helst kan cellens innehåll raderas igen, vilket återställer det till ett tomt tillstånd.At any time, the contents of the cell can again be cleared, returning it to a blank state.

En tom sträng refererar till en sträng som inte innehåller några tecken.Empty string refers to a string that contains no characters. Funktionen len returnerar noll för en sådan sträng och den kan skrivas i formler som två dubbla citat tecken utan något mellan "".The Len function returns zero for such a string and it can be written in a formulas as two double quotes with nothing in between "". Vissa kontroller och data källor använder en tom sträng för att ange ett "inget värde"-villkor.Some controls and data sources use an empty string to indicate a "no value" condition. För att förenkla skapandet av appar kan IsBlank -och sammanslagnings funktioner testa både tomma värden eller tomma strängar.To simplify app creation, the IsBlank and Coalesce functions test for both blank values or empty strings.

I kontexten för IsEmpty -funktionen är Tom är en funktion som är unik för tabeller som inte innehåller några poster.In the context of the IsEmpty function, empty is specific to tables that contain no records. Tabellstrukturen kan vara orörd, med kolumnnamn, men inga data finns i tabellen.The table structure may be intact, complete with column names, but no data is in the table. En tabell kan starta som tom, få poster och inte längre vara tom och posterna kan tas bort och den är tom igen.A table may start as empty, take on records and no longer be empty, and then have the records removed and again be empty.

Anteckning

Vi är i en period av över gången.We are in a period of transition. Tills nu har tomt även använts för att rapportera fel, vilket gör det omöjligt att skilja ett giltigt "nej"-värde från ett fel.Until now, blank has also been used to report errors, making it impossible to differentiate a valid "no value" from an error. Därför stöds lagring av tomma värden endast för lokala samlingar.For this reason, at this time, storing blank values is supported only for local collections. Du kan lagra tomma värden i andra data källor om du aktiverar funktionen "experimentella fel hantering på formel nivå" på menyn Arkiv, appinställningar, avancerade inställningar, experimentella funktioner.You can store blank values in other data sources if you turn on the "Formula-level error management" experimental feature under the File menu, App settings, Advanced settings, Experimental features. Vi arbetar aktivt för att slutföra den här funktionen och slutföra den korrekta avgränsningen av tomma värden från fel.We are actively working to finish this feature and complete the proper separation of blank values from errors.

BeskrivningDescription

Funktionen Blank returnerar ett blank-värde.The Blank function returns a blank value. Används för att lagra ett nullvärde i en datakälla som har stöd för dessa värden, vilket tar bort ett värde från fältet.Use this to store a NULL value in a data source that supports these values, effectively removing any value from the field.

IsBlank -funktionen testar för ett tomt värde eller en tom sträng.The IsBlank function tests for a blank value or an empty string. Testet innehåller tomma strängar för att under lätta skapandet av appar eftersom vissa data källor och kontroller använder en tom sträng när det inte finns något värde.The test includes empty strings to ease app creation since some data sources and controls use an empty string when there is no value present. Om du vill testa specifikt för ett tomt värde använder if( Value = Blank(); ... i stället för IsBlank.To test specifically for a blank value use if( Value = Blank(); ... instead of IsBlank.

Sammanslagnings funktionen utvärderar argumenten i ordning och returnerar det första värdet som inte är tomt eller en tom sträng.The Coalesce function evaluates its arguments in order and returns the first value that isn't blank or an empty string. Använd den här funktionen för att ersätta ett tomt värde eller en tom sträng med ett annat värde men lämna icke-tomma och icke-tomma sträng värden oförändrade.Use this function to replace a blank value or empty string with a different value but leave non-blank and non-empty string values unchanged. Om alla argument är tomma eller tomma strängar, returnerar funktionen Tom, vilket gör sammanslagningen ett bra sätt att konvertera tomma strängar till tomma värden.If all of the arguments are blank or empty strings then the function returns blank, making Coalesce a good way to convert empty strings to blank values. Alla argument för Coalesce måste vara av samma typ, t.ex, du kan inte blanda siffror med textsträngar.All arguments to Coalesce must be of the same type; for example, you can't mix numbers with text strings.

Coalesce( value1; value2 ) är den kortare motsvarigheten till If( Not IsBlank( value1 ); value1; Not IsBlank( value2 ); value2 ) och kräver inte att value1 och värde2 utvärderas två gånger.Coalesce( value1; value2 ) is the more concise equivalent of If( Not IsBlank( value1 ); value1; Not IsBlank( value2 ); value2 ) and doesn't require value1 and value2 to be evaluated twice. Funktionen IF returnerar blank om det inte finns någon "Else"-formel som är fallet här.The If function returns blank if there is no "else" formula as is the case here.

Funktionen IsEmpty testar om en tabell innehåller alla poster.The IsEmpty function tests whether a table contains any records. Den motsvarar användning av funktionen CountRows och söker efter noll.It's equivalent to using the CountRows function and checking for zero. Du kan använda IsEmpty för att söka efter fel för datakällan genom att kombinera den med funktionen Errors .You can check for data-source errors by combining IsEmpty with the Errors function.

Det returnerade värdet för såväl IsBlank som IsEmpty är ett booleskt värde true eller false.The return value for both IsBlank and IsEmpty is a Boolean true or false.

SyntaxSyntax

Blank()Blank()

Coalesce( Value1 [; Value2; ... ] )Coalesce( Value1 [; Value2; ... ] )

  • Value(s) – obligatoriskt.Value(s) – Required. Värden att testa.Values to test. Varje värde utvärderas i ordning tills ett värde som inte är tomt och inte en tom sträng hittas.Each value is evaluated in order until a value that is not blank and not an empty string is found. Värden efter den här punkten utvärderas inte.Values after this point are not evaluated.

IsBlank( Value )IsBlank( Value )

  • Value – Krävs.Value – Required. Värde att testa för ett tomt värde eller en tom sträng.Value to test for a blank value or empty string.

IsEmpty( Table )IsEmpty( Table )

  • Table – obligatoriskt.Table - Required. Tabell som ska testas för poster.Table to test for records.

ExempelExamples

BlankBlank

Anteckning

Just nu fungerar följande exempel endast för lokala samlingar.At this time, the following example only works for local collections. Du kan lagra tomma värden i andra data källor om du aktiverar funktionen "experimentella fel hantering på formel nivå" på menyn Arkiv, appinställningar, avancerade inställningar, experimentella funktioner.You can store blank values in other data sources if you turn on the "Formula-level error management" experimental feature under the File menu, App settings, Advanced settings, Experimental features. Vi arbetar aktivt för att slutföra den här funktionen och slutföra separationen av tomma värden från fel.We are actively working to finish this feature and complete the separation of blank values from errors.

  1. Skapa en app från början och lägg till en knappkontroll.Create an app from scratch, and add a Button control.

  2. Ställ in knappens egenskap OnSelect enligt den här formeln:Set the button's OnSelect property to this formula:

    ClearCollect( Cities; { Name: "Seattle"; Weather: "Rainy" } )
    
  3. Förhandsgranska din app, klicka eller tryck på knappen som du har lagt till och stäng Förhandsgranskning.Preview your app, click or tap the button that you added, and then close Preview.

  4. Klicka eller tryck på Samlingar i Arkiv-menyn.On the File menu, click or tap Collections.

    Samlingen Cities visas med en post med "Seattle" och "Rainy":The Cities collection appears, showing one record with "Seattle" and "Rainy":

    Samling med Seattle och Rainy

  5. Klicka eller tryck på bakåtpilen för att återgå till standardarbetsytan.Click or tap the back arrow to return to the default workspace.

  6. Lägg till kontrollen Etikett och ange egenskapen Text till följande formel:Add a Label control, and set its Text property to this formula:

    IsBlank( First( Cities ).Weather )
    

    Etiketten visar false eftersom fältet Weather innehåller ett värde ("Rainy").The label shows false because the Weather field contains a value ("Rainy").

  7. Lägg till en knapp till och ge dess egenskap OnSelect följande formel:Add a second button, and set its OnSelect property to this formula:

    Patch( Cities; First( Cities ); { Weather: Blank() } )
    
  8. Förhandsgranska din app, klicka eller tryck på knappen som du har lagt till och stäng Förhandsgranskning.Preview your app, click or tap the button that you added, and then close Preview.

    Fältet Weather i den första posten i Cities ersätts med blank, vilket tar bort "Rainy" som fanns där tidigare.The Weather field of the first record in Cities is replaced with a blank, removing the "Rainy" that was there previously.

    Samling med Seattle och ett tomt Weather-fält

    Etiketten visar true eftersom fältet Weather inte längre innehåller ett värde.The label shows true because the Weather field no longer contains a value.

CoalesceCoalesce

FormelFormula BeskrivningDescription ResultatResult
Sammanslagning ( tomt (), 1 )Coalesce( Blank(); 1 ) Testar returvärde från funktionen Blank som returnerar alltid ett blank värde.Tests the return value from the Blank function, which always returns a blank value. Eftersom det första argumentet är tomtfortsätter utvärderingen med nästa argument tills ett värde som inte ärtomt och en icke-tom sträng hittas.Because the first argument is blank, evaluation continues with the next argument until a non-blank value and non-empty string is found. 11
Sammanslagning ("", 2)Coalesce( ""; 2 ) Testar det första argumentet som är en tom sträng.Tests the first argument which is an empty string. Eftersom det första argumentet är en tom sträng fortsätter utvärderingen med nästa argument tills ett värde som inte ärtomt och en icke-tom sträng hittas.Because the first argument is an empty string, evaluation continues with the next argument until a non-blank value and non-empty string is found. 22
Sammanslagning (tom (), "", tom (), "", 3, 4)Coalesce( Blank(); ""; Blank(); ""; 3; 4 ) Sammanslagningen börjar i början av argument listan och utvärderar varje argument i sin tur tills ett värde som inte ärtomt och en icke-tom sträng hittas.Coalesce starts at the beginning of the argument list and evaluates each argument in turn until a non-blank value and non-empty string is found. I det här fallet returnerar de första fyra argumenten Tom eller en tom sträng, så utvärderingen fortsätter till det femte argumentet.In this case, the first four arguments all return blank or an empty string, so evaluation continues to the fifth argument. Det femte argumentet är icke-tomt och en sträng som inte är tom, så utvärderingen stoppas här.The fifth argument is non-blank and non-empty string, so evaluation stops here. Värdet för det femte argumentet returneras och det sjätte argumentet utvärderas inte.The value of the fifth argument is returned, and the sixth argument isn't evaluated. 33
Sammanslagning ("")Coalesce( "" ) Testar det första argumentet som är en tom sträng.Tests the first argument which is an empty string. Eftersom det första argumentet är en tom sträng, och det inte finns några fler argument, returnerar funktionen Tom.Because the first argument is an empty string, and there are no more arguments, the function returns blank. blankblank

IsBlankIsBlank

  1. Skapa en app från grunden, lägg till en textinmatningskontroll och döp till FirstName.Create an app from scratch, add a text-input control, and name it FirstName.

  2. Lägg till en etikett och ange egenskapen Text till följande formel:Add a label, and set its Text property to this formula:

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

    Som standard anges egenskapen Text för en textinmatningskontroll till "Textinmatning" .By default, the Text property of a text-input control is set to "Text input". Eftersom egenskapen innehåller ett värde är den inte tom och etikettskontrollen visar inte några meddelanden.Because the property contains a value, it isn't blank, and the label doesn't display any message.

  3. Ta bort alla tecken från textinmatningskontrollen, inklusive blanksteg.Remove all the characters from the text-input control, including any spaces.

    Eftersom text egenskapen inte längre innehåller några tecken, är det en tom sträng och IsBlank (FirstName. text) kommer att vara Sant.Because the Text property no longer contains any characters, it's an empty string, and IsBlank( FirstName.Text ) will be true. Obligatoriskt fältmeddelandet visas.The required field message is displayed.

Information om hur du utför verifiering genom att använda andra verktyg finns i funktionen Validate och Arbeta med datakällor.For information about how to perform validation by using other tools, see the Validate function and working with data sources.

Andra exempel:Other examples:

FormelFormula BeskrivningDescription ResultatResult
IsBlank ( tomt () )IsBlank( Blank() ) Testar returvärde från funktionen Blank som returnerar alltid ett blank värde.Tests the return value from the Blank function, which always returns a blank value. truetrue
IsBlank( "" )IsBlank( "" ) En sträng som inte innehåller några tecken.A string that contains no characters. truetrue
IsBlank ("Hello")IsBlank( "Hello" ) En sträng som innehåller ett eller flera tecken.A string that contains one or more characters. falsefalse
IsBlank( AnyCollection )IsBlank( AnyCollection ) Eftersom samlingen finns, är den inte tom, även om den inte innehåller några poster.Because the collection exists, it isn't blank, even if it doesn't contain any records. Om du vill söka efter en tom samling använd IsEmpty i stället.To check for an empty collection, use IsEmpty instead. falsefalse
IsBlank( Mid( "Hello"; 17; 2 ) )IsBlank( Mid( "Hello"; 17; 2 ) ) Det första tecknet för Mid är utanför slutet av strängen.The starting character for Mid is beyond the end of the string. Resultatet är en tom sträng.The result is an empty string. truetrue
IsBlank( If( false; false ) )IsBlank( If( false; false ) ) En funktion If utan ElseResult.An If function with no ElseResult. Eftersom villkoret alltid är false, returnerar detta If alltid blank.Because the condition is always false, this If always returns blank. truetrue

IsEmptyIsEmpty

  1. Skapa en app från början och lägg till en knappkontroll.Create an app from scratch, and add a Button control.

  2. Ställ in knappens egenskap OnSelect enligt den här formeln:Set the button's OnSelect property to this formula:

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

  3. Förhandsgranska din app, klicka eller tryck på knappen som du har lagt till och stäng Förhandsgranskning.Preview your app, click or tap the button that you added, and then close Preview.

    En samling som heter IceCream skapas och innehåller dessa data:A collection named IceCream is created and contains this data:

    Den här samlingen har två poster och är inte tom.This collection has two records and isn't empty. IsEmpty (IceCream) returnerar false, och CountRows (IceCream) returnerar 2.IsEmpty( IceCream ) returns false, and CountRows( IceCream ) returns 2.

  4. Lägg till en knapp till och ge dess egenskap OnSelect följande formel:Add a second button, and set its OnSelect property to this formula:

    Clear( IceCream )Clear( IceCream )

  5. Förhandsgranska din app, klicka eller tryck på knappen som du har lagt till och stäng Förhandsgranskning.Preview your app, click or tap the second button, and then close Preview.

    Samlingen är nu tom:The collection is now empty:

    Funktionen Clear tar bort alla poster från en samling, vilket resulterar i en tom samling.The Clear function removes all the records from a collection, resulting in an empty collection. IsEmpty (IceCream) returnerar true, och CountRows (IceCream) returnerar 0.IsEmpty( IceCream ) returns true, and CountRows( IceCream ) returns 0.

Du kan också använda IsEmpty för att testa om en beräknad tabell är tomt, alltså:You can also use IsEmpty to test whether a calculated table is empty, as these examples show:

FormelFormula BeskrivningDescription ResultatResult
IsEmpty( [ 1; 2; 3 ] )IsEmpty( [ 1; 2; 3 ] ) Tabellen med en kolumn innehåller tre poster och är därför inte tom.The single-column table contains three records and, therefore, isn't empty. falsefalse
IsEmpty( [ ] )IsEmpty( [ ] ) Tabellen med en kolumn innehåller inte några poster och är tom.The single-column table contains no records and is empty. truetrue
IsEmpty( Filter( [ 1; 2; 3 ]; värde > 5 ) )IsEmpty( Filter( [ 1; 2; 3 ]; Value > 5 ) ) Tabellen med en kolumn innehåller inte några värden som är större än 5.The single-column table contains no values that are greater than 5. Resultatet från filtret innehåller inte några poster och är tomt.The result from the filter doesn't contain any records and is empty. truetrue