Power Apps의 Set 함수

전역 변수의 값을 설정합니다.

개요

Set 함수를 사용하여 정보(예: 사용자가 단추를 선택한 횟수 또는 데이터 작업의 결과)를 임시로 보관하는 전역 변수의 값을 설정합니다.

전역 변수는 모든 화면에서 앱을 통해 제공됩니다. 가장 간단한 종류의 변수이며 대부분의 상황에서 필요를 충족합니다. 테이블에 대한 행 수준 수정을 허용하는 컬렉션 및 단일 화면으로 범위가 지정된 컨텍스트 변수도 있습니다. 이러한 다른 옵션에 대한 자세한 내용은 변수 이해를 검토하십시오.

Power Apps는 사용자가 앱과 상호 작용할 때 자동으로 다시 계산되는 수식을 기반으로 합니다. 변수에 의존하는 모든 수식은 변경될 때 자동으로 업데이트됩니다. 그러나 Set 함수에 사용된 수식 값이 변경되는 경우 이 변수는 자동으로 업데이트되지 않습니다. 이를 위해서는 앱 제작자가 변수를 수동으로 업데이트해야 하지만 오류가 발생하기 쉽고 다른 사람들이 이해하기 어려울 수 있습니다. 변수를 사용하기 전에 변수 이해를 검토하십시오.

설명

전역 변수는 Set 함수를 사용하여 암시적으로 생성됩니다. 명시적 선언은 필요하지 않습니다. 전역 변수에 대한 Set 함수를 모두 제거하면 해당 전역 변수가 사라집니다. 변수를 지우려면 변수 값을 Blank 함수의 결과로 설정하십시오.

변수의 값, 정의 및 용도는 Power Apps Studio의 File 메뉴에 있는 변수 보기를 사용하여 볼 수 있습니다.

이 항목의 뒷부분에 나오는 예제에서 보듯이 전역 변수는 다음을 비롯한 여러 가지 정보를 보유할 수 있습니다.

  • 단일 값
  • 레코드
  • 테이블
  • 개체 참조
  • 수식의 결과

전역 변수는 앱이 닫힐 때까지 해당 값을 보유합니다. 앱이 닫히면 전역 변수의 값이 손실되고 앱이 다시 로드될 때 다시 생성되어야 합니다.

전역 변수는 기존 컬렉션이나 컨트롤과 동일한 이름을 사용할 수 없습니다. 컨텍스트 변수와 동일한 이름을 사용할 수 있습니다. 둘 사이의 모호함을 해결하려면 명확성 연산자를 사용하십시오.

Set에는 반환 값이 없으며 동작 수식 내에서만 사용할 수 있습니다.

구문

Set( VariableName, Value )

  • VariableName - 필수 항목입니다. 만들거나 업데이트할 전역 변수의 이름입니다.
  • Value - 필수 항목입니다. 컨텍스트 변수에 할당할 값입니다.

예제

수식 설명 결과
Set( Counter, 1 ) 전역 변수 Counter를 생성하거나 수정하고 값을 1로 설정합니다. Counter의 값은 1입니다. 화면의 수식에 Counter라는 이름을 사용하여 해당 변수를 참조할 수 있습니다.
Set( Counter, 2 ) 앞 예제의 Counter 전역 변수 값을 2로 설정합니다. Counter의 값은 2입니다.
Set( Counter, Counter + 1 ) 앞 예제의 Counter 전역 변수 값을 3으로 증가시킵니다. Counter의 값은 3입니다.
Set( Name, "Lily" ) 전역 변수 Name을 생성하거나 수정하고 값을 Lily로 설정합니다. Name의 값은 Lily입니다.
Set( Person, { Name: "Milton", Address: "1 Main St" } ) 전역 변수 Person을 생성하거나 수정하고 값을 레코드로 설정합니다. 이 레코드에는 NameAddress라는 두 개의 열이 포함되어 있습니다. Name 열의 값은 Milton이고 Address 열의 값은 1 Main St입니다. Person의 레코드 값은 { Name: "Milton", Address: "1 Main St" } 입니다.

이 레코드 전체를 Person이라는 이름으로 참조하거나 이 레코드의 개별 열을 Person.Name 또는 Person.Address로 참조합니다.
Set( Person, Patch( Person, {Address: "2 Main St" } ) ) Patch 함수로 Address 열의 값을 2 Main St로 설정하여 Person 전역 변수를 업데이트합니다. 이제 Person의 레코드 값은 { Name: "Milton", Address: "2 Main St" } 입니다.