데스크톱 흐름의 Power Fx
[이 문서는 시험판 문서이며 변경될 수 있습니다.]
Power Fx 로우코드 는 논리를 표현하기 위한 언어입니다 Microsoft Power Platform. 이는 범용이며 강력한 유형이고 선언적이며 기능적인 프로그래밍 언어입니다.
Power Fx는 인간 친화적인 텍스트로 표현됩니다. 제작자가 Excel과 유사한 수식 입력줄 또는 Visual Studio Code 텍스트 창에서 직접 작업할 수 있는 로우코드 언어입니다. 로우코드의 "low"는 언어의 간결하고 단순한 특성으로 인해 제작자와 개발자 모두에게 일반적인 프로그래밍 작업을 쉽게 만들어줍니다.
Power Fx를 사용하면 프로그래밍 지식이 없는 노코드 제작자부터 전문 개발자를 위한 프로 코딩까지 전체 범위의 개발이 가능합니다. 이를 통해 다양한 팀이 협업하고 시간과 노력을 절약할 수 있습니다.
중요
- 이는 프리뷰 기능입니다.
- 프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다.
- 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.
- 이 기능을 사용하려면 데스크톱용 Power Automate v2.39 이상이 필요합니다.
데스크톱 흐름의 Power Fx 사용(프리뷰)
데스크톱 흐름에서 Power Fx를 표현식 언어로 사용하려면 데스크톱 흐름을 만들고 데스크톱용 Power Automate 콘솔을 통해 흐름을 만들 때 해당 토글 버튼을 활성화해야 합니다.
Power Fx 활성화된 흐름의 차이점
참고
각 Power Fx 표현식은 "="(같음 기호)로 시작해야 합니다.
Power Fx 가 비활성화된 흐름에서 전환하는 경우 몇 가지 차이점을 느낄 수 있습니다. 새로운 바탕 화면 흐름을 생성하는 동안 경험을 간소화하기 위해 염두에 두어야 할 몇 가지 핵심 개념은 다음과 같습니다.
Excel 수식과 같은 방식으로, Power Fx 을 표현 언어로 사용하는 바탕 화면 흐름은 0(영) 기반 인덱싱 대신 1(일) 기반 배열 인덱싱을 사용합니다. 예를 들어, expression
=Index(numbersArray, 1)
은numbersArray
배열의 첫 번째 요소를 반환합니다.변수 이름은 Power Fx를 사용하는 데스크톱 흐름에서 대소문자를 구분합니다. 예를 들어 NewVar은 newVar과 다릅니다.
데스크톱 흐름에서 Power Fx 가 활성화된 경우, 사용하기 전에 변수 초기화가 필요합니다. Power Fx 표현식에서 초기화되지 않은 변수를 사용하려고 하면 오류가 발생합니다.
If 작업은 단일 조건식을 허용합니다. 이전에는 여러 개의 피연산자를 허용했습니다.
활성화되지 않은 Power Fx 흐름은 알 수 없는 객체 유형을 나타내기 위해 "일반 값"이라는 용어를 사용하지만, Power Fx 엄격한 유형 시스템을 중심으로 돌아갑니다. 활성화된 흐름에서는 Power Fx 동적 변수 (런타임에 유형이나 값을 변경할 수 있는 변수)와 동적 값 (런타임에 유형이나 스키마가 결정되는 값)이 구별됩니다. 이 구별을 더 잘 이해하려면 다음 예를 살펴보겠습니다.
dynamicVariable
는 런타임 동안 aNumeric
에서 aBoolean
값으로 유형을 변경하는 반면,dynamicValue
는 런타임 동안 형식화되지 않은 개체로 결정되며 실제 유형은 aCustom object
입니다.동적 값으로 처리되는 값은 다음과 같습니다.
- 데이터 테이블
- 알 수 없는 스키마를 가진 사용자 정의 개체
- 동적 작업 출력(예: ".NET 스크립트 실행" 작업)
- "Run 데스크톱 흐름" 작업의 출력
- 미리 정의된 스키마가 없는 모든 작업 출력(예: "Excel 워크시트에서 읽기" 또는 "새 목록 만들기")
동적 값은 Power Fx 형식화되지 않은 개체 와 유사하게 처리되며 일반적으로 필요한 유형으로 변환하려면 명시적 함수가 필요합니다(예:
Bool()
및Text()
). 사용자 경험을 간소화하기 위해 동적 값을 작업 입력이나 Power Fx 표현식의 일부로 사용할 때 암묵적인 변환이 있습니다. 작성 중에는 유효성 검사가 없지만 런타임 중 실제 값에 따라 변환이 실패하면 런타임 오류가 발생합니다.동적 변수가 사용될 때마다 "지연된 유형이 제공되었습니다"라는 경고 메시지가 표시됩니다. 이러한 경고는 강력한 형식의 스키마(엄격하게 정의된 형식)에 대한 Power Fx의 엄격한 요구 사항으로 인해 발생합니다. 동적 변수는 목록, 테이블 또는 레코드 값의 속성으로 허용되지 않습니다.
Run Power Fx expression action을 Collect, Clear, ClearCollect, Patch 함수를 사용하는 표현식과 결합하면 이전에는 사용할 수 없었던 Add item to list 와 Insert row into data table action에서 발견되는 동작을 에뮬레이트할 수 있습니다. 이 동작은 이전에는 활성화된 바탕 화면 흐름에서 사용할 수 없었습니다. Power Fx 두 작업 모두 계속 사용할 수 있지만, 강력한 형식의 목록(예: 파일 목록)으로 작업하는 경우 Collect 기능을 사용하세요. 이 기능을 사용하면 항목을 목록에 추가하면 목록이 형식화되지 않은 개체로 변환되므로 목록이 입력된 상태로 유지됩니다.
예
- 입력 필드의
=1
는 숫자 값 1과 같습니다. -
= variableName
은 variableName 변수의 값과 같습니다. - 표현식
= {'prop':"value"}
은 사용자 정의 개체와 동일한 레코드 값을 반환합니다. - 표현식
= Table({'prop':"value"})
은 사용자 정의 개체 목록과 동일한 Power Fx 테이블을 반환합니다. - 표현식 -
= [1,2,3,4]
은 숫자 값의 목록을 생성합니다. - 리스트에서 값에 접근하려면
Index(var, number)
함수를 사용합니다. 여기서 var는 리스트의 이름이고 number는 검색할 값의 위치입니다. - 열 인덱스를 사용하여 데이터 테이블 셀에 액세스하려면
Index()
함수를 사용합니다.=Index(Index(DataTableVar, 1), 2)
행 1의 셀에서 열 2의 셀 값을 검색합니다.=Index(DataRowVar, 1)
행 1의 셀에서 값을 검색합니다. - 입력 또는 UI/웹 요소 선택기에 보간된 값을 포함하려면 다음 구문을 사용합니다.
Text before ${variable / expression} text after
- 예:
The total number is ${Sum(10, 20)}
- 예:
참고
표현식이나 UI/웹 요소 선택기 구문에서 달러 기호($
) 뒤에 여는 중괄호 기호({
)를 사용하고자 하는 경우( Power Fx 바탕 화면) 이를 문자열 보간 구문으로 처리하지 않으려면 다음 구문을 따라와 사용해야 합니다. Power Automate (첫 번째 달러 기호는 이스케이프 문자로 작동함) $${
사용 가능한 Power Fx 함수
데스크톱 흐름용 Power Automate에서 사용 가능한 모든 기능의 전체 목록을 보려면 수식 참조 - 데스크톱 흐름으로 이동하세요.
알려진 문제 및 제한 사항
- 표준 자동화 작업 라이브러리의 다음 작업은 현재 지원되지 않습니다.
- Switch
- 케이스
- 기본 케이스
- IntelliSense를 통해 제공되는 일부 Power Fx 함수는 현재 데스크톱 흐름에서 지원되지 않습니다. 해당 함수를 사용하면 다음과 같은 디자인 타임 오류가 표시됩니다. "매개변수 'Value': PowerFx 유형 'OptionSetValueType'은 지원되지 않습니다."
새로운 기능
이 섹션에서는 각 업데이트에서 변경된 내용을 나열합니다.
2.48
2024년 9월 출시:
- 변수 카테고리에서 이전에 지원되지 않았던 목록 및 데이터 테이블 조작 작업을 다시 활성화합니다.
- 사용자 정의 개체, 목록 및 데이터 테이블에 대한 기본 형식화되지 않은 개체 지원. 유형이 지정되지 않은 객체에 대해 자세히 알아보려면 형식화되지 않은 개체 데이터 유형을 참조하세요.
- 이 변경 사항은 디자인 타임 경고와 지연된 유형의 사용을 줄이기 위해 도입되었습니다. 형식화되지 않은 개체는 디자인 타임에 알려지지 않은 스키마가 있는 유형을 처리하는 방법입니다.
- 이전 버전에서는 동적 변수 (런타임에 유형이나 값이 변경될 수 있는 변수)와 동적 값 (런타임에 유형이나 스키마가 결정되는 값)이 동일한 방식으로 처리되었습니다. Power Fx 식에서 동적 값이나 동적 변수가 사용되면 "지연된 유형이 제공되었습니다."라는 경고가 발생했습니다. 이러한 경고는 엄격한 유형 스키마(강력하게 정의된 유형)를 적용하기 때문에 발생했습니다. Power Fx 이 버전부터 우리는 두 가지 사례를 구별했습니다. 동적 변수가 계속해서 "지연된 유형" 경고를 생성하는 동안, 동적 값은 이제 유형이 지정되지 않은 개체로 처리됩니다.
- 모든 데이터 테이블 변수는 유형이 지정되지 않았지만, JSON을 사용자 지정 객체로 변환 작업으로 인해 생성된 사용자 지정 객체는 유형이 지정되지 않았습니다. Power Automate 변수 카테고리의 for 바탕 화면 작업으로 목록을 조작한 후에는 목록의 유형이 지정되지 않습니다.
- 이전에는 Excel에서 읽기, CSV에서 읽기, 웹에서 데이터 추출, 창에서 데이터 추출, SQL 문 실행, JSON을 사용자 지정 개체로 변환 과 같은 표준 작업 라이브러리의 특정 자동화 작업을 수행하면 "지연된 유형" 경고와 함께 동적 변수가 생성되었습니다. 이제는 형식이 지정되지 않은 데이터 테이블이나 형식이 지정되지 않은 사용자 정의 개체 변수를 생성합니다.
- Set Power Fx 기능은 현재 활성화되어 있지만 아직 완전히 지원되지는 않습니다. 변수의 값을 직접 수정하는 데 사용할 수는 없지만 위의 구조와 함께 사용하여 사용자 정의 개체 속성과 특정 인덱스(예:
=Set(Index(Index(DataTable, 1), 1), 42)
또는=Set(customObject.property, 17)
)에 있는 목록의 값을 업데이트할 수 있습니다. - Power Fx 활성화된 흐름에서 개체의 중첩된 목록 속성에 액세스하는 데 발생하는 문제를 해결했습니다.
주의
바탕 화면의 버전 2.48에는 Power Automate 활성화된 바탕 화면 흐름에 대한 업데이트가 있었는데, 이는 이전 버전에서 생성된 활성화된 흐름의 실행에 영향을 미칠 수 있습니다. Power Fx Power Fx 기존 Power Fx 흐름으로 이 버전을 철저히 테스트하는 것이 좋습니다.
- 하위 흐름 출력: 활성화된 데스크톱 흐름에서 자식 흐름의 출력 변수를 사용할 때는 주의하세요. Power Fx 여기에는 목록, 사용자 정의 개체, 데이터 테이블 유형의 출력 변수가 포함됩니다.
- 단일 값 열 배열: 다음과 같은 표현식을 사용하여 생성된 배열은 활성화된 흐름에서 단일 값 열 배열을 생성합니다.
=[1, 2, 3]
여기서 흐름의 항목은 단일 속성을 가진 객체입니다 Power Fx .{Value: 1}
첫 번째 배열을 작업으로 수정한 후 이 항목의Value
속성에 액세스하려고 하면 작성 오류가 발생합니다.
2.43
2024년 4월 출시:
- 대/소문자 구분. 예를 들어, NewVar는 newVar과 다른 변수입니다.
- 실행 Power Fx 식 작업은 변수 작업 그룹에서 사용할 수 있습니다. Power Fx 표현식 실행을 사용하면 데이터 원본에서 직접 표현식을 실행할 수 있습니다.
- 바탕 화면 흐름에서는 Collect, Clear, ClearCollect Power Fx 함수가 지원됩니다.
- 패치 Power Fx 기능은 바탕 화면 흐름에서 지원됩니다.
- 변수 및 Power Fx 표현식은 UI 요소 또는 웹 선택기 구문에 사용될 수 있습니다.
- 이제 보간된 값을 UI/웹 요소 선택기의 구문에 포함할 수 있습니다. 보간된 문자열의 경우 ${ Power Fx 표현식 } 구문을 사용할 수 있습니다.
중요
데스크톱용 Power Automate 버전 2.43에는 이전 버전으로 만든 Power Fx 지원 데스크톱 흐름의 실행에 영향을 줄 수 있는 Power Fx 지원 데스크톱 흐름에 대한 업데이트가 있습니다. 특별한 사항
- 대소문자를 구분하는 변수 이름: 바탕 화면 버전 2.43 이상에서 생성된 활성화된 바탕 화면 흐름 내의 변수 이름은 대소문자를 구분합니다. Power Fx Power Automate 데스크톱용 Power Automate 버전 2.42 이하를 사용하여 생성된 Power Fx 데스크톱 흐름에서는 대/소문자를 구분하지 않는 변수 이름이 허용됩니다. 예를 들어, NewVar 및 newVAR은 동일한 변수를 참조합니다. 데스크톱용 Power Automate 버전 2.42 이하를 사용하여 생성된 Power Fx 지원 데스크톱 흐름의 경우 생성된 변수가 예상한 것과 같은지 검토하고 확인하십시오.
2.42
2024년 3월 출시:
- 이제 Power Fx 지원 데스크톱 흐름에 IntelliSense 기능을 사용할 수 있습니다.
- 구문 색상화
- 실시간 제안을 사용하는 입력 중 자동 완성 기능
- Power Fx 함수에 대한 서명 도우미
참고
식에 IntelliSense 기능을 사용할 수 있습니다. 표현식을 입력하려면 각 입력 시작 부분에 등호(= 표현식 )를 사용하거나 문자열 보간 표기법( ${ 표현식 } )을 사용하세요.
- 함수 선택기
- 각 입력과 상호 작용할 때 스키틀의 fx 버튼을 사용하여 기능 선택기에 액세스할 수 있습니다. 현재 데스크톱 흐름에 지원되는 모든 Power Fx 함수를 여기에서 사용할 수 있습니다.
2.41
2024년 2월 출시:
- 이제부터 등호(=)로 시작하지 않는 입력은 텍스트 유형 값으로 간주됩니다. 숫자 및 부울 입력은 항상 등호로 시작해야 합니다.
- 이제 입력이 보간된 문자열을 지원합니다. 입력에 보간된 값을 포함하려면 다음 구문을 사용하세요:
Text before ${variable/ expression} text after
.- 예:
The total number is ${Sum(10, 20)}
- 예:
참고
보간된 문자열 구문을 사용하려면 입력의 시작 부분에 있는 등호(=) 기호를 생략하세요.
2.39
2023년 12월 출시:
- 제공된 입력이 등호로 시작하지 않으면 다음 규칙이 적용됩니다.
- 공백이 없는 숫자 값은 숫자 값으로 해석됩니다.
- 대소문자와 공백 없이 True/False 를 입력하면 부울 값으로 해석됩니다.
- 다른 모든 입력은 텍스트 유형 값으로 간주됩니다.