SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
날짜 테이블 쿼리의 M 함수에 매개변수를 추가하는 방법을 보여드리겠습니다 . 에서 제기된 질문을 기반으로 합니다 . 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
질문은 요일의 번호 매기기를 0에서 1로 전환하는 방법에 관한 것입니다 . 주중의 실제 시작은 변경되지 않습니다. 이 날짜 테이블에서 주의 시작은 항상 월요일입니다. 월요일을 0일 대신 1일로 언급하는 것입니다.
이 프로세스는 반드시 복잡하지는 않지만 M 언어의 구조에 대한 기본적인 이해가 필요합니다. LuckyTemplates 회원이라면 확인할 수 있습니다 . 소개는 주제를 다룹니다.
목차
M 함수와 확장된 날짜 테이블
파워 쿼리 로 이동하여 시작하겠습니다 . 여기에 이미 날짜 테이블 M 함수를 복사했습니다 .
LuckyTemplates 포럼 의 M 코드 쇼케이스 카테고리 에서 M 기능을 얻었습니다 . 주제 아래에 있습니다 .
고급 편집기를 열면 이것이 코드입니다.
주의를 산만하게 할 수 있는 많은 M 코드가 있습니다.
테스트 쿼리 만들기
M 함수 내에서 너무 많은 작업이 진행되고 있으므로 대신 새 빈 쿼리 로 시작하겠습니다 .
이 테스트 쿼리의 이름을 지정하겠습니다 .
다음으로 Advanced Editor 를 엽니다 .
함수를 생성할 것이기 때문에 한 쌍의 괄호를 추가하고 거기에 있는 모든 기본 코드를 삭제할 것입니다.
기능을 시작하기 위해 선택적 매개변수를 선언하겠습니다 .
다음으로 변수를 추가하겠습니다. 평일 시작 번호를 나타내기 때문에 이 변수를 WDStartNum 이라고 하겠습니다 . 또한 유형을 선언해야 하므로 number 를 입력하겠습니다 .
오류를 방지하기 위해 유형을 선언합니다. 임의의 유형으로 그대로 두면 숫자만 전달하는 대신 테이블이나 날짜 값을 전달할 수 있음을 의미합니다.
다음 단계는 let 절과 in 절을 추가하는 것입니다.
let 절 아래에 변수 이름이 필요합니다. 그래서 저는 이 변수를 WDStart 라고 부를 것입니다 .
이제 WDStartNum 이 통과되었는지 테스트해야 합니다 . 통과하면 null 과 동일하지 않습니다 . 따라서 WDStartNum이 null이 아닌 경우 반환되는 값을 원한다고 선언하겠습니다 .
in 절에 관해서는 동일한 단계를 통과하기를 원합니다. 그래서 WDStart를 거기에 두겠습니다 . 이것은 우리가 이전에 let 절 아래에서 변수 이름을 지정한 것입니다.
완료를 누르면 함수가 생성됩니다. 그래서 그 함수를 통해 값을 전달하려고 합니다.
문자 "a"를 입력해 보겠습니다.
이전에 값이 숫자여야 한다고 선언한 것을 기억하십시오. 내가 입력한 값이 이 요구 사항을 충족하지 않는다는 것을 인식하기 때문에 해당 매개 변수를 입력할 수 없습니다.
그래서 나는 그것을 삭제하고 공간을 비워 둘 것입니다.
Invoke를 클릭하면 값 0이 반환됩니다.
내 원래 쿼리로 돌아가서 값이 null이 아니면 WDStartNum이 반환되어야 한다고 명시되어 있습니다. null과 같으면 0이 반환되어야 합니다.
그래서 0이 맞습니다.
이번에는 TestQuery에서 숫자를 변경하여 값을 전달하려고 합니다. 사실 Enter 키를 누르면 "1"이 반환됩니다.
이제 TestQuery에서 2020년을 통과해 보겠습니다. Enter 키를 누르면 2020도 반환됩니다.
분명히 나는 이런 일이 일어나기를 원하지 않습니다. 주의 시작을 나타내는 값을 원하기 때문에 0 또는 1이 표시되기를 원합니다. 즉, 입력한 숫자가 0인지 1인지 확인하기 위해 다른 테스트를 만들어야 합니다. 이를 위해 List.Contains 함수를 사용할 수 있습니다 .
List.Contains 사용
빈 쿼리를 만들고 괄호를 사용하지 않고 List.Contains를 입력했습니다.
Enter 키를 누르면 해당 기능에 대한 설명서를 볼 수 있습니다.
List.Contains는 목록에 값이 포함되어 있는지 여부를 나타냅니다.
따라서 첫 번째 매개변수로 목록이 필요하고 그 다음에 값이 추가됩니다. 해당 값이 목록 내에서 발견되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
쿼리에서 필요한 변경을 수행할 수 있도록 고급 편집기를 다시 엽니다 .
값이 null이 아닌지 테스트하는 대신 List.Contains를 사용하겠습니다 .
이제 이 함수에 적용할 값 목록을 제공하겠습니다.
목록 이니셜라이저로 중괄호를 사용하겠습니다. 중괄호 안에 0, 1을 입력하겠습니다. 해당 괄호를 닫은 후 쉼표를 추가하겠습니다.
두 번째 매개변수로는 WDStartNum을 사용하겠습니다. 그런 다음 닫는 괄호를 추가하겠습니다.
이를 통해 0 또는 1이 WDStartNumber를 제공해야 함을 의미합니다. 0 또는 1 이외의 값이 배치되면 결과는 0이 되어야 합니다.
TestQuery에 2020을 입력하여 테스트하겠습니다. 예상대로 "0"(영)을 반환합니다.
값 2020이 목록에 없기 때문입니다.
M 기능에 매개변수 추가
이제 코드가 제대로 작동하는지 확인했으므로 마침내 실제 날짜 테이블과 M 함수에 코드를 넣을 수 있습니다. 고급 편집기를 연 다음 로직을 복사 하겠습니다 .
그런 다음 날짜 테이블 쿼리로 들어가겠습니다.
고급 편집기를 통해 원본 M 기능을 열어 보겠습니다 .
그런 다음 거기에 내 코드를 붙여넣겠습니다. 줄 끝에 쉼표가 있는지 확인합시다.
다음으로 매개변수 이름을 강조 표시하고 복사 하겠습니다 .
그런 다음 여기에 해당 매개변수를 추가 하겠습니다 .
먼저 기존 줄의 끝에 쉼표를 추가한 다음 이 매개변수를 optional 로 선언해야 합니다 . 그런 다음 WDStartNum을 배치하고 유형을 추가 할 수 있습니다 .
매개변수를 추가했고 논리도 포함했습니다. 하지만 예상한 결과를 얻는지도 확인해야 합니다. 그래서 요일을 다루는 코드 줄을 찾아보겠습니다.
그런 다음 + WDStart 를 추가하겠습니다 .
완료를 클릭하여 편집기를 닫겠습니다. 그런 다음 쿼리를 호출하겠습니다.
StartDate의 경우 2020년 1월 1일을 입력하고 2020년 12월 31일을 EndDate로 사용합니다.
회계 연도의 시작 월로 "7"을 사용하고 WDStartNum으로 "0"을 입력합니다.
호출을 클릭하겠습니다. 이제 날짜 테이블이 있습니다.
쉽게 식별할 수 있도록 이름을 바꾸겠습니다.
이제 결과를 확인하겠습니다.
이것은 내 DayOfWeek 칼럼입니다.
월요일이 0으로 돌아왔음 을 보여줍니다 .
포럼의 질문으로 돌아가서 한 주의 시작 숫자를 0이 아닌 1로 변경해야 합니다. 그래서 측정값에서 변경하겠습니다.
Enter 키를 누르면 이제 월요일이 0일이 아닌 1일이 됩니다.
숫자 범위를 보면 이제 0에서 6이 아닌 1에서 7까지 실행됩니다.
null 값을 전달하면 어떻게 됩니까?
그런 다음 월요일의 DayOfWeek는 다시 0으로 돌아갑니다.
M 함수를 사용하여 확장된 LuckyTemplates 날짜 테이블 만들기
LuckyTemplates의 M 코드 초보자 가이드
파워 쿼리 날짜 테이블에 대한 동적 StartDate 및 EndDate 설정
결론
이것은 날짜 테이블 쿼리의 M 함수에 바로 추가 매개변수를 추가할 수 있는 방법입니다. 앞에서 언급했듯이 프로세스는 전혀 복잡하지 않습니다. M 코드에 대한 소스가 있는 한 거기에서 충분히 쉽습니다.
다시 말하지만, M 코드 작동 방식에 대한 배경 지식이 없는 경우 항상 Online 의 고급 데이터 변환 및 모델링 과정을 확인할 수 있습니다 .
모두 제일 좋다,
여자 이름
***** LuckyTemplates 학습? *****
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
컬렉션 변수를 사용하여 Power Apps에서 변수 만드는 방법 및 유용한 팁에 대해 알아보세요.
Microsoft Flow HTTP 트리거가 수행할 수 있는 작업과 Microsoft Power Automate의 예를 사용하여 이를 사용하는 방법을 알아보고 이해하십시오!
Power Automate 흐름 및 용도에 대해 자세히 알아보세요. 다양한 작업 및 시나리오에 사용할 수 있는 다양한 유형의 흐름에 대해 설명합니다.
조건이 충족되지 않는 경우 흐름에서 작업을 종료하는 Power Automate 종료 작업 컨트롤을 올바르게 사용하는 방법을 알아봅니다.
PowerApps 실행 기능에 대해 자세히 알아보고 자신의 앱에서 바로 웹사이트, 전화, 이메일 및 기타 앱과 같은 기타 서비스를 실행하십시오.
타사 애플리케이션 통합과 관련하여 Power Automate의 HTTP 요청이 작동하는 방식을 배우고 이해합니다.
Power Automate Desktop에서 Send Mouse Click을 사용하는 방법을 알아보고 이것이 어떤 이점을 제공하고 흐름 성능을 개선하는지 알아보십시오.
PowerApps 변수의 작동 방식, 다양한 종류, 각 변수가 앱에 기여할 수 있는 사항을 알아보세요.
이 자습서에서는 Power Automate를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.