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." 사용자가 문자를 입력하지 않으면 텍스트 입력 컨트롤은 공백입니다.A Text input control is blank if the user hasn't typed any characters in it. 사용자가 문자를 입력하는 즉시 동일한 컨트롤은 더 이상 공백이 아닙니다.The same control is no longer blank as soon as the user types a character in it. 일부 데이터 원본에서 NULL 값을 저장하고 반환할 수 있으며, 이 값은 PowerApps에서 공백으로 표현됩니다.Some data sources can store and return NULL values, which are represented in PowerApps as blank.

참고

공백 값 저장은 현재 로컬 컬렉션에만 지원됩니다.At this time, storing blank values is supported only for local collections. 많은 데이터 원본에서 공백(NULL) 값을 지원하며, 이 제한을 제거하기 위해 노력하고 있습니다.We know that many data sources support blank (NULL) values, and we're working to lift this limitation.

속성 또는 계산 값은 공백일 수 있습니다.Any property or calculated value 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. 이는 워크시트 셀이 공백으로 시작하지만 TRUE 또는 FALSE 값을 포함할 수 있는 Microsoft Excel과 비슷합니다.This is similar to Microsoft Excel, where a worksheet cell starts out as blank but can hold the values TRUE or FALSE, among others. 셀의 내용은 언제든지 제거할 수 있으며, 이 경우 공백 상태로 돌아갑니다.At any time, the contents of the cell can be removed, and it would return to a blank state.

비어 있음은 레코드가 없는 테이블에만 해당됩니다.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.

설명Description

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. 공백 값은 다음과 같은 상황에서 찾을 수 있습니다.Blank values are found in situations such as these:

  • Blank 함수의 반환 값입니다.The return value from the Blank function.
  • 컨트롤 속성에 수식이 설정되어 있지 않습니다.A control property has no formula set for it.
  • 텍스트 입력 컨트롤에 입력된 값이 없거나 목록 상자에서 아무 것도 선택하지 않았습니다.No value is typed into a text-input control, or no selection is made in a listbox. IsBlank를 사용하여 필수 필드임을 알려주는 피드백을 제공할 수 있습니다.You can use IsBlank to provide feedback that a field is required.
  • 문자가 없는 문자열에는 Len 의 0이 있습니다.A string that contains no characters has a Len of 0.
  • 함수에서 오류가 발생했습니다.An error occurred in a function. 종종 함수에 대한 인수 중 하나가 유효하지 않습니다.Often, one of the arguments to the function wasn't valid. 인수의 값이 공백이면 많은 함수에서 공백을 반환합니다.Many functions return blank if the value of an argument is blank.
  • 연결된 데이터 원본(예: SQL Server)에서 "null" 값을 사용할 수 있습니다.Connected data sources, such as SQL Server, may use "null" values. 이 값은 PowerApps에서 공백으로 표시됩니다.These values appear as blank in PowerApps.
  • If 함수의 else 부분은 지정되지 않았으며 모든 조건이 false입니다.The else portion of an If function wasn't specified, and all conditions were false.
  • Update 함수를 사용했지만 모든 열에 대한 값을 지정하지 않았습니다.You used the Update function but didn't specify a value for all columns. 이에 따라 지정하지 않은 열에는 값이 배치되지 않았습니다.As a result, no values were placed in the columns that you didn't specify.

Coalesce 함수는 인수를 순서대로 평가하고 공백이 아닌 첫 번째 값을 반환합니다.The Coalesce function evaluates its arguments in order and returns the first value that isn't blank. 이 함수를 사용하여 공백 값을 다른 값으로 바꾸지만 공백이 아닌 값은 변경하지 않고 그대로 둡니다.Use this function to replace a blank value with a different value but leave non-blank values unchanged. 모든 인수가 공백이면 함수에서 공백을 반환합니다.If all of the arguments are blank, then the function returns blank. 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, value2 ) 와 동등한 간결한 구문이며, value1을 두 번 평가할 필요가 없습니다.Coalesce( value1, value2 ) is the more concise equivalent of If( Not( IsBlank( value1 ) ), value1, value2 ) and doesn't require value1 to be evaluated twice.

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 non-blank value is found. 공백이 아닌 값 다음의 값은 평가되지 않습니다.Values after the first non-blank value aren't evaluated.

IsBlank( Value )IsBlank( Value )

  • Value – 필수 항목이며,Value – Required. 테스트할 값입니다.Value to test.

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. 많은 데이터 원본에서 공백(NULL) 값을 지원하며, 이 제한을 제거하기 위해 노력하고 있습니다.We know that many data sources support blank (NULL) values and We are working to lift this limitation.

  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: "비" } )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 )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() } )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
Coalesce( Blank(), 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 is found. 11
Coalesce( Blank(), Blank(), Blank(), Blank(), 2, 3 )Coalesce( Blank(), Blank(), Blank(), Blank(), 2, 3 ) Coalesce가 인수 목록의 시작 부분에서 시작하고, 공백이 아닌 값을 찾을 때까지 각 인수를 차례로 평가합니다.Coalesce starts at the beginning of the argument list and evaluates each argument in turn until a non-blank value is found. 이 경우 처음 네 개의 인수에서 모두 공백을 반환하므로 다섯 번째 인수로 계속 평가됩니다.In this case, the first four arguments all return blank, so evaluation continues to the fifth argument. 다섯 번째 인수는 공백이 아니므로 여기서 평가를 중지합니다.The fifth argument is non-blank, so evaluation stops here. 다섯 번째 인수의 값이 반환되고, 여섯 번째 인수는 평가되지 않습니다.The value of the fifth argument is returned, and the sixth argument isn't evaluated. 22

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은 필수 필드입니다." )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.

    Text 속성에 더 이상 문자가 없으므로 이 속성은 공백이고, IsBlank( FirstName.Text )true가 됩니다.Because the Text property no longer contains any characters, it's blank, 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, { Flavor: "딸기", Quantity: 300 }, { Flavor: "초콜릿", 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