파워 쿼리 M 함수 이해
파워 쿼리 M 수식 언어 에서 함수 는 입력 값 집합에서 단일 출력 값으로의 매핑입니다. 함수는 먼저 함수 매개 변수의 이름을 지정한 다음 함수의 결과를 계산하는 식을 제공하여 작성됩니다. 함수의 본문은 goes-to(=>) 기호를 따릅니다. 필요에 따라 매개 변수 및 함수 반환 값에 형식 정보를 포함할 수 있습니다. 함수는 let 문의 본문에서 정의되고 호출됩니다. 매개 변수 및/또는 반환 값은 암시적 또는 명시적일 수 있습니다. 암시적 매개 변수 및/또는 반환 값은 임의의 형식입니다. 형식 은 다른 언어의 개체 형식과 유사합니다. M의 모든 형식은 모두 형식에서 파생됩니다.
함수는 숫자나 텍스트 값과 같은 값이며 다른 식과 마찬가지로 인라인으로 포함할 수 있습니다. 다음 예제에서는 다른 여러 변수에서 호출되거나 실행되는 Add 변수의 값인 함수를 보여 줍니다. 함수가 호출되면 함수 본문 식 내에서 필요한 입력 값 집합으로 논리적으로 대체되는 값 집합이 지정됩니다.
예제 – 명시적 매개 변수 및 반환 값
let
AddOne = (x as number) as number => x + 1,
//additional expression steps
CalcAddOne = AddOne(5)
in
CalcAddOne
예제 – 암시적 매개 변수 및 반환 값
let
Add = (x, y) => x + y,
AddResults =
[
OnePlusOne = Add(1, 1), // equals 2
OnePlusTwo = Add(1, 2) // equals 3
]
in
AddResults
5보다 큰 목록의 첫 번째 요소를 찾거나 그렇지 않으면 null을 찾습니다.
let
FirstGreaterThan5 = (list) =>
let
GreaterThan5 = List.Select(list, (n) => n> 5),
First = List.First(GreaterThan5)
in
First,
Results =
[
Found = FirstGreaterThan5({3,7,9}), // equals 7
NotFound = FirstGreaterThan5({1,3,4}) // equals null
]
in
Results
함수는 재귀적으로 사용할 수 있습니다. 함수를 재귀적으로 참조하려면 식별자에 @을 접두사로 사용합니다.
let
fact = (num) => if num = 0 then 1 else num * @fact (num-1)
in
fact(5) // equals 120
각 키워드(keyword)
각 키워드(keyword) 간단한 함수를 쉽게 만드는 데 사용됩니다. “each ...”는 _ 매개 변수 “(_) => ...”를 사용하는 함수 시그니처의 간소화된 구문입니다.
각각은 기본적으로 _에 적용되는 조회 연산자와 결합할 때 유용합니다.
예를 들어 each [CustomerID]는 each _[CustomerID]와 동일합니다. 이는 (_) => _[CustomerID]와 동일합니다.
예제 – 테이블 행 필터의 각 항목 사용
Table.SelectRows(
Table.FromRecords({
[CustomerID = 1, Name = "Bob", Phone = "123-4567"],
[CustomerID = 2, Name = "Jim", Phone = "987-6543"] ,
[CustomerID = 3, Name = "Paul", Phone = "543-7890"] ,
[CustomerID = 4, Name = "Ringo", Phone = "232-1550"]
}),
each [CustomerID] = 2
)[Name]
// equals "Jim"
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기