다음을 통해 공유


Power Fx를 사용하여 표현식 만들기

Power Fx는 Excel과 유사한 수식을 사용하는 로우 코드 언어입니다. Power Fx를 사용하여 Copilot이 데이터를 조작할 수 있는 복잡한 논리를 생성하세요. 예를 들어 Power Fx 수식은 변수 값을 설정하거나 문자열을 구문 분석하거나 조건에서 식을 사용할 수 있습니다. 자세한 내용은 Power Fx 개요수식 참조를 참조하세요.

노트

Copilot Studio의 Power Fx 수식은 미국식 번호 매기기를 사용합니다. 즉, 소수 구분 기호는 12,567.892에서와 같이 마침표 또는 점입니다. 이는 Power Fx 매개 변수가 쉼표(,)로 구분되어야 함을 의미합니다.

사전 요구 사항

수식에서 변수 사용

Power Fx 수식에서 변수를 사용하려면 이름에 접두사를 추가하여 변수의 범위를 나타내야 합니다.

예를 들어, 수식에서 시스템 변수 Conversation.Id를 사용하려면 시스템 변수를 System.Conversation.Id로 참조합니다.

시스템 변수를 포함하는 표현식이 있는 수식 입력 창의 스크린샷.

수식에서 리터럴 값 사용

Power Fx 수식에 변수를 사용하는 것 외에도 리터럴 값을 입력할 수 있습니다. 수식에서 리터럴 값을 사용하려면 유형에 해당하는 형식으로 입력해야 합니다. 다음 표에는 데이터 유형과 해당 리터럴 값의 형식이 나열되어 있습니다.

Type 형식 예제
String "hi", "hello world!", "copilot"
부울 true 또는 false만 해당
숫자 1, 532, 5.258,-9201
레코드 및 테이블 [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
날짜/시간 Time(5,0,23), Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
선택 항목 지원 안 됨
빈 템플릿 Blank() 전용

일반적인 Power Fx 수식

다음 표에는 데이터 형식 및 해당 데이터 형식에 사용할 해당 Power Fx 수식이 나와 있습니다.

Type Power Fx 수식
String Text 함수
Concat 및 Concatenate 함수
Len 함수
Lower, Upper 및 Proper 함수
IsMatch, Match 및 MatchAll 함수
EndsWith 및 StartsWith 함수
Find 함수
Replace 및 Substitute 함수
부울 Boolean 함수
And, Or 및 Not 함수
If 및 Switch 함수
숫자 Decimal, Float 및 Value 함수
Int, Round, RoundDown, RoundUp 및 Trun 함수
레코드 및 테이블 Concat 및 Concatenate 함수
Count, CountA, CountIf 및 CountRows 함수
ForAll 함수
First, FirstN, Index, Last 및 LastN 함수
Filter, Search 및 LookUp 함수
JSON 기능
ParseJSON 함수
날짜/시간 Date, DateTime, 및 Time 함수
DateValue, TimeValue 및 DateTimeValue 함수
Day, Month, Year, Hour, Minute, Second 및 Weekday 함수
Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday 함수
DateAdd, DateDiff 및 TimeZoneOffset 함수
Text 함수
빈 템플릿 Blank, Coalesce, IsBlank 및 IsEmpty 함수
Error, IfError, IsError, IsBlankOrError 함수

Power Fx를 사용하여 변수 설정

이 예제에서 Power Fx 식은 고객의 이름을 대문자로 저장하고 출력합니다.

  1. 주제를 만들고 질문 노드를 추가합니다.

  2. 메시지 입력에 "이름이 뭐예요?"를 입력하세요.

  3. 식별에서 엔터티 사람 이름을 선택합니다.

  4. 다른 이름으로 응답 저장 아래의 상자를 선택한 다음 변수 Var1을 선택하고 이름을 customerName으로 지정합니다.

  5. 질문 노드에서 +을 선택한 다음 변수 값 설정을 선택합니다.

  6. 변수 설정 아래의 상자를 선택한 다음 새로 만들기를 선택하고 이름을 capsName으로 지정합니다.

  7. 대상 값 상자에서 > 화살표를 선택한 다음 수식 탭을 선택합니다.

  8. fx 상자에 Upper(Text(Topic.customerName))를 입력한 다음 삽입을 선택합니다.

    공식 탭이 강조 표시된 변수 설정 노드의 Power Fx 공식 스크린샷.

  9. 질문 노드에서 +를 선택한 다음 메시지 보내기를 선택합니다.

  10. "HELLO "를 입력하고 {x}을 선택한 다음 capsName을 선택합니다.

    메시지가 정의된 메시지 노드의 스크린샷.

Power Fx 수식을 조건으로 사용

더 복잡한 표현식을 평가하려면 Power Fx 수식을 사용하도록 조건 노드를 설정하세요.

이 예에서 Copilot은 예약 날짜가 할인 대상인지 확인합니다. 이를 위해 고객이 제공한 예약 날짜가 현재 날짜로부터 14일 이상인지 확인합니다.

  1. 주제를 만들고 질문 노드를 추가합니다.

  2. 메시지 입력에 "예약 날짜?"를 입력합니다.

  3. 식별에서 엔터티 날짜 및 시간을 선택합니다.

  4. 다른 이름으로 응답 저장 아래의 상자를 선택한 다음 변수 Var1을 선택하고 이름을 bookingDate으로 지정합니다.

    날짜 및 시간 엔터티가 선택되고 변수가 설정된 질문 노드의 스크린샷.

  5. 질문 노드 아래에 있는 노드 추가 아이콘 을 선택한 다음, 조건 추가를 선택합니다.

  6. 조건 노드의 더보기 아이콘()을 선택한 다음 수식으로 변경을 선택합니다.

  7. 함수 상자에서 > 화살표를 선택한 다음 수식 탭을 선택합니다.

  8. fx 상자의 내용을 수식 Topic.bookingDate > (DateAdd (Now(), 14))로 바꾼 다음 삽입을 선택합니다.

  9. 조건 노드에서 메시지 노드를 추가하고 "할인을 받을 수 있습니다."라는 메시지를 입력합니다.

  10. 모든 기타 조건 노드에서 메시지 노드를 추가하고 "죄송합니다. 할인을 받을 수 없습니다."라는 메시지를 입력합니다.

    조건부 메시지 노드의 스크린샷.