PowerApps의 Blank, Coalesce, IsBlank 및 IsEmpty 함수Blank, Coalesce, IsBlank, and IsEmpty functions in PowerApps

값이 비어 있거나 테이블레코드가 없는지 여부를 테스트하고 공백 값을 만드는 방법을 제공합니다.Tests whether a value is blank or a table contains no records, and provides a way to create blank values.

개요Overview

공백은 "값 없음" 또는 "알 수 없는 값"에 대한 자리 표시자입니다.Blank is a placeholder for "no value" or "unknown value." 예를 들어 사용자가 선택을 하지 않은 경우 콤보 상자 컨트롤의 Selected 속성은 공백 입니다.For example, a Combo box control's Selected property is blank if the user hasn't made a selection. 대부분의 데이터 소스는 PowerApps에서 blank로 표시 되는 NULL 값을 저장 하 고 반환할 수 있습니다.Many data sources can store and return NULL values, which are represented in PowerApps as blank.

PowerApps의 모든 속성 또는 계산 된 값은 비워 둘수 있습니다.Any property or calculated value in PowerApps can be blank. 예를 들어 부울 값은 일반적으로 true 또는 false 값 중 하나입니다.For example, a Boolean value normally has one of two values: true or false. 그러나 이러한 두 가지 외에도 상태를 알 수 없음을 나타내는 비워 둘 수 있습니다.But in addition to these two, it can also be blank indicating that the state is not known. 이는 Microsoft Excel과 유사 합니다. 여기서 워크시트 셀은 내용 없이 공백으로 시작 되지만 TRUE 또는 FALSE 값을 포함할 수 있습니다.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). 언제 든 지 셀의 내용을 다시 지워 상태로 되돌릴 수 있습니다.At any time, the contents of the cell can again be cleared, returning it to a blank state.

빈 문자열 은 문자가 포함 되지 않은 문자열을 참조 합니다.Empty string refers to a string that contains no characters. Len 함수 는 이러한 문자열에 대해 0을 반환 하며, 그 사이 ""에는 아무 것도 없는 두 개의 큰따옴표로 작성 될 수 있습니다.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 "". 일부 컨트롤 및 데이터 소스는 빈 문자열을 사용 하 여 "값 없음" 조건을 표시 합니다.Some controls and data sources use an empty string to indicate a "no value" condition. 앱 만들기를 간소화 하기 위해 isblank병합 함수는 값 또는 빈 문자열을 모두 테스트 합니다.To simplify app creation, the IsBlank and Coalesce functions test for both blank values or empty strings.

IsEmpty 함수의 컨텍스트에서 empty 는 레코드가 없는 테이블에만 적용 됩니다.In the context of the IsEmpty function, empty is specific to tables that contain no records. 테이블 구조는 이름을 포함한 채 그대로 완벽하게 유지될 수 있지만 테이블에는 데이터가 없습니다.The table structure may be intact, complete with column names, but no data is in the table. 테이블은 비어있는 것으로 시작하여 레코드를 가져와서 더 이상 비어 있지 않으며, 그런 다음, 레코드를 제거하여 다시 비워둘 수 있습니다.A table may start as empty, take on records and no longer be empty, and then have the records removed and again be empty.

참고

전환 기간이 있습니다.We are in a period of transition. 지금 까지는 blank 를 사용 하 여 오류를 보고 하 고 오류 로부터 유효한 "no value"를 구분할 수 없습니다.Until now, blank has also been used to report errors, making it impossible to differentiate a valid "no value" from an error. 이러한 이유로 인해 값을 저장 하는 것은 로컬 컬렉션에 대해서만 지원 됩니다.For this reason, at this time, storing blank values is supported only for local collections. 파일 메뉴, 앱 설정, 고급 설정, 실험적 기능에서 "수식 수준 오류 관리" 실험적 기능을 설정 하면 다른 데이터 원본에 값을 저장할 수 있습니다.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. 이 기능을 완료 하 고 오류에서 값의 적절 한 분리를 완료 하기 위해 적극적으로 노력 하 고 있습니다.We are actively working to finish this feature and complete the proper separation of blank values from errors.

DescriptionDescription

Blank 함수는 공백 값을 반환합니다.The Blank function returns a blank value. 이 값을 지원하는 데이터 원본에 NULL 값을 저장하여 필드에서 값을 효과적으로 제거합니다.Use this to store a NULL value in a data source that supports these values, effectively removing any value from the field.

Isblank 함수는 값 또는 빈 문자열을 테스트 합니다.The IsBlank function tests for a blank value or an empty string. 값이 없는 경우 일부 데이터 소스 및 컨트롤에서 빈 문자열을 사용 하므로 응용 프로그램을 쉽게 만들 수 있도록 테스트에 빈 문자열이 포함 되어 있습니다.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. 값을 특별히 테스트 하려면 if( Value = Blank(), ... isblank대신을 사용 합니다.To test specifically for a blank value use if( Value = Blank(), ... instead of IsBlank.

병합 함수는 인수를 순서 대로 평가 하 고 비어 있지 않은 첫 번째 값 이나 빈 문자열을 반환 합니다.The Coalesce function evaluates its arguments in order and returns the first value that isn't blank or an empty string. 이 함수를 사용 하 여 값 이나 빈 문자열을 다른 값으로 바꿀 수 있지만 비어 있지 않은 문자열 값 또는 비어 있지 않은 문자열 값은 변경 하지 않고 그대로 둡니다.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. 모든 인수가 비어 있거나 빈 문자열인 경우 함수는 빈 문자열을 빈 값으로 변환 하는 좋은 방법을 병합 하 여 빈 문자열을 반환 합니다.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. Coalesce에 대한 모든 인수는 같은 형식이어야 합니다. 예를 들어 숫자와 텍스트 문자열을 함께 사용할 수 없습니다.All arguments to Coalesce must be of the same type; for example, you can't mix numbers with text strings.

Coalesce( value1, value2 )는 보다 간결한 값 If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) 이며 value1value2 를 두 번 계산 하지 않아도 됩니다.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. If 함수 는 여기에 있는 경우와 같이 "else" 수식이 없으면 blank 를 반환 합니다.The If function returns blank if there is no "else" formula as is the case here.

IsEmpty 함수는 테이블에 레코드가 있는지 여부를 테스트합니다.The IsEmpty function tests whether a table contains any records. CountRows 함수를 사용하여 0을 확인하는 것과 같습니다.It's equivalent to using the CountRows function and checking for zero. IsEmptyErrors 함수와 결합하여 데이터 원본 오류를 확인할 수 있습니다.You can check for data-source errors by combining IsEmpty with the Errors function.

IsBlankIsEmpty 모두에 대한 반환 값은 true 또는 false 부울 값입니다.The return value for both IsBlank and IsEmpty is a Boolean true or false.

구문Syntax

Blank()Blank()

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

  • Value(s) – 필수 항목이며,Value(s) – Required. 테스트할 값입니다.Values to test. 비어 있지 않고 빈 문자열이 아닌 값을 찾을 때까지 각 값이 순서 대로 평가 됩니다.Each value is evaluated in order until a value that is not blank and not an empty string is found. 이 시점 이후의 값은 계산 되지 않습니다.Values after this point are not evaluated.

IsBlank( Value )IsBlank( Value )

  • Value – 필수 항목입니다.Value – Required. 값 또는 빈 문자열을 테스트할 값입니다.Value to test for a blank value or empty string.

IsEmpty( Table )IsEmpty( Table )

  • Table - 필수 항목입니다.Table - Required. 레코드를 테스트할 테이블입니다.Table to test for records.

Examples

비어 있음Blank

참고

다음 예제는 현재 로컬 컬렉션에서만 작동합니다.At this time, the following example only works for local collections. 파일 메뉴, 앱 설정, 고급 설정, 실험적 기능에서 "수식 수준 오류 관리" 실험적 기능을 설정 하면 다른 데이터 원본에 값을 저장할 수 있습니다.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. 이 기능을 완료 하 고 오류에서 값의 분리를 완료 하기 위해 적극적으로 노력 하 고 있습니다.We are actively working to finish this feature and complete the separation of blank values from errors.

  1. 앱을 처음부터 만들고 단추 컨트롤을 추가합니다.Create an app from scratch, and add a Button control.

  2. 단추의 OnSelect 속성을 다음 수식으로 설정합니다.Set the button's OnSelect property to this formula:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. 앱을 미리 보고, 추가한 단추를 클릭하거나 탭한 다음, 미리 보기를 닫습니다.Preview your app, click or tap the button that you added, and then close Preview.

  4. 파일 메뉴에서 컬렉션을 클릭하거나 탭합니다.On the File menu, click or tap Collections.

    Cities 컬렉션이 나타나서 "Seattle" 및 "비"가 있는 레코드 하나가 표시됩니다.The Cities collection appears, showing one record with "Seattle" and "Rainy":

    "비" 날씨가 있는 Seattle을 보여 주는 컬렉션

  5. 기본 작업 영역으로 돌아가려면 뒤로 화살표를 클릭하거나 탭합니다.Click or tap the back arrow to return to the default workspace.

  6. 레이블 컨트롤을 추가하고 Text 속성을 다음 수식으로 설정합니다.Add a Label control, and set its Text property to this formula:

    IsBlank( First( Cities ).Weather )
    

    Weather 필드에 값("비")이 있으므로 레이블에 false가 표시됩니다.The label shows false because the Weather field contains a value ("Rainy").

  7. 두 번째 단추를 추가하고 OnSelect 속성을 다음 수식으로 설정합니다.Add a second button, and set its OnSelect property to this formula:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. 앱을 미리 보고, 추가한 단추를 클릭하거나 탭한 다음, 미리 보기를 닫습니다.Preview your app, click or tap the button that you added, and then close Preview.

    Cities의 첫 번째 레코드의 Weather 필드는 공백으로 바뀌어 이전에 있었던 "비"를 제거합니다.The Weather field of the first record in Cities is replaced with a blank, removing the "Rainy" that was there previously.

    공백인 Weather 필드가 있는 Seattle을 보여 주는 컬렉션

    Weather 필드에 더 이상 값이 없으므로 레이블에 true가 표시됩니다.The label shows true because the Weather field no longer contains a value.

CoalesceCoalesce

수식Formula 설명Description 결과Result
병합 ( 공백 (), 1 )Coalesce( Blank(), 1 ) Blank 함수의 반환 값을 테스트하며, 항상 공백 값을 반환합니다.Tests the return value from the Blank function, which always returns a blank value. 첫 번째 인수는 비어있으므로 비어 있지 않은 값과 비어 있지 않은 문자열을 찾을 때까지 다음 인수를 사용 하 여 계산이 계속 됩니다.Because the first argument is blank, evaluation continues with the next argument until a non-blank value and non-empty string is found. 11
병합 ("", 2)Coalesce( "", 2 ) 빈 문자열인 첫 번째 인수를 테스트 합니다.Tests the first argument which is an empty string. 첫 번째 인수는 빈 문자열 이므로 비어 있지 않은 값과 비어 있지 않은 문자열을 찾을 때 까지 다음 인수를 사용 하 여 계산이 계속 됩니다.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
병합 (Blank (), "", Blank (), "", 3, 4)Coalesce( Blank(), "", Blank(), "", 3, 4 ) 병합 은 인수 목록의 시작 부분에서 시작 하 고 비어 있지 않은 값과 비어 있지 않은 문자열 을 찾을 때까지 각 인수를 차례로 계산 합니다.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. 이 경우 처음 네 개의 인수는 모두 문자열이 나 빈 문자열을 반환 하므로 계산은 다섯 번째 인수를 계속 합니다.In this case, the first four arguments all return blank or an empty string, so evaluation continues to the fifth argument. 다섯 번째 인수는 비어 있지 않은 문자열이 며 여기에서 계산을 중지 합니다.The fifth argument is non-blank and non-empty string, so evaluation stops here. 다섯 번째 인수의 값이 반환되고, 여섯 번째 인수는 평가되지 않습니다.The value of the fifth argument is returned, and the sixth argument isn't evaluated. 33
병합 ("")Coalesce( "" ) 빈 문자열인 첫 번째 인수를 테스트 합니다.Tests the first argument which is an empty string. 첫 번째 인수가 빈 문자열이 고 더 이상 인수가 없으므로 함수는 blank를 반환 합니다.Because the first argument is an empty string, and there are no more arguments, the function returns blank. 공백blank

IsBlankIsBlank

  1. 앱을 처음부터 만들고, 텍스트 입력 컨트롤을 추가하고, 이름을 FirstName으로 지정합니다.Create an app from scratch, add a text-input control, and name it FirstName.

  2. 레이블을 추가하고 Text 속성을 다음 수식으로 설정합니다.Add a label, and set its Text property to this formula:

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

    텍스트 입력 컨트롤의 Text 속성은 기본적으로 "텍스트 입력" 으로 설정됩니다.By default, the Text property of a text-input control is set to "Text input". 속성에 값이 포함되어 있으므로 공백이 아니며 레이블에 메시지가 표시되지 않습니다.Because the property contains a value, it isn't blank, and the label doesn't display any message.

  3. 텍스트 입력 컨트롤에서 모든 공백을 포함하여 모든 문자를 제거합니다.Remove all the characters from the text-input control, including any spaces.

    텍스트 속성은 더 이상 문자를 포함 하지 않으므로 빈 문자열이 고 Isblank (FirstName)true가 됩니다.Because the Text property no longer contains any characters, it's an empty string, and IsBlank( FirstName.Text ) will be true. 필수 필드 메시지가 표시됩니다.The required field message is displayed.

다른 도구를 사용하여 유효성 검사를 수행하는 방법에 대한 자세한 내용은 Validate 함수 및 데이터 원본 작업을 참조하세요.For information about how to perform validation by using other tools, see the Validate function and working with data sources.

다른 예제:Other examples:

수식Formula 설명Description 결과Result
Isblank ( blank () )IsBlank( Blank() ) Blank 함수의 반환 값을 테스트하며, 항상 공백 값을 반환합니다.Tests the return value from the Blank function, which always returns a blank value. truetrue
IsBlank( "" )IsBlank( "" ) 문자가 없는 문자열입니다.A string that contains no characters. truetrue
IsBlank( "Hello" )IsBlank( "Hello" ) 하나 이상의 문자가 포함된 문자열입니다.A string that contains one or more characters. falsefalse
IsBlank( AnyCollection )IsBlank( AnyCollection ) 컬렉션이 있으므로 레코드가 없더라도 공백이 아닙니다.Because the collection exists, it isn't blank, even if it doesn't contain any records. 빈 컬렉션을 확인하려면 IsEmpty를 대신 사용합니다.To check for an empty collection, use IsEmpty instead. falsefalse
IsBlank( Mid( "Hello", 17, 2 ) )IsBlank( Mid( "Hello", 17, 2 ) ) Mid 에 대한 시작 문자가 문자열의 끝을 벗어납니다.The starting character for Mid is beyond the end of the string. 결과는 빈 문자열입니다.The result is an empty string. truetrue
IsBlank( If( false, false ) )IsBlank( If( false, false ) ) ElseResult가 없는 If 함수입니다.An If function with no ElseResult. 조건이 항상 false이므로 이 If 는 항상 공백을 반환합니다.Because the condition is always false, this If always returns blank. truetrue

IsEmptyIsEmpty

  1. 앱을 처음부터 만들고 단추 컨트롤을 추가합니다.Create an app from scratch, and add a Button control.

  2. 단추의 OnSelect 속성을 다음 수식으로 설정합니다.Set the button's OnSelect property to this formula:

    Collect (IceCream, {특색: "Strawberry", 수량: 300}, {버전: "초콜릿", Quantity: 100})Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. 앱을 미리 보고, 추가한 단추를 클릭하거나 탭한 다음, 미리 보기를 닫습니다.Preview your app, click or tap the button that you added, and then close Preview.

    IceCream이라는 컬렉션이 만들어지고 다음 데이터가 포함되어 있습니다.A collection named IceCream is created and contains this data:

    이 컬렉션에는 두 개의 레코드가 있으며 비어 있지 않습니다.This collection has two records and isn't empty. IsEmpty( IceCream )false를 반환하고, CountRows( IceCream )2를 반환합니다.IsEmpty( IceCream ) returns false, and CountRows( IceCream ) returns 2.

  4. 두 번째 단추를 추가하고 OnSelect 속성을 다음 수식으로 설정합니다.Add a second button, and set its OnSelect property to this formula:

    Clear( IceCream )Clear( IceCream )

  5. 앱을 미리 보고, 두 번째 단추를 클릭하거나 탭한 다음, 미리 보기를 닫습니다.Preview your app, click or tap the second button, and then close Preview.

    이제 컬렉션은 다음과 같이 비어 있습니다.The collection is now empty:

    Clear 함수는 컬렉션에서 모든 레코드를 제거하여 빈 컬렉션을 만듭니다.The Clear function removes all the records from a collection, resulting in an empty collection. IsEmpty( IceCream )true를 반환하고, CountRows( IceCream )0을 반환합니다.IsEmpty( IceCream ) returns true, and CountRows( IceCream ) returns 0.

또한 다음 예제와 같이 IsEmpty를 사용하여 계산된 테이블이 비어 있는지 여부를 테스트할 수 있습니다.You can also use IsEmpty to test whether a calculated table is empty, as these examples show:

수식Formula 설명Description 결과Result
IsEmpty( [ 1, 2, 3 ] )IsEmpty( [ 1, 2, 3 ] ) 단일 열 테이블에는 세 개의 레코드가 있으므로 비어 있지 않습니다.The single-column table contains three records and, therefore, isn't empty. falsefalse
IsEmpty( [ ] )IsEmpty( [ ] ) 단일 열 테이블에는 레코드가 없으며 비어 있습니다.The single-column table contains no records and is empty. truetrue
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) )IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) 단일 열 테이블에는 5보다 큰 값이 없습니다.The single-column table contains no values that are greater than 5. 필터의 결과에 레코드가 없으며 비어 있습니다.The result from the filter doesn't contain any records and is empty. truetrue