SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
매월 처음 N 영업일을 동적으로 비교하는 이 자습서 에서 논의된 문제를 다시 살펴보겠습니다 . 이 문제는 포럼의 LuckyTemplates 회원의 쿼리를 기반으로 합니다. 여기서 그는 주어진 달에 대해 처음 5, 10, 15 및 20 청구 가능 일(주말 및 공휴일 제외)을 동적으로 보고 비교하기를 원했습니다. 지난 달.
파워 쿼리를 사용하는 대신 DAX 코딩 언어 솔루션을 제안합니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
첫 번째 비디오 에서는 이 문제를 해결하는 방법에 대한 파워 쿼리 솔루션을 생각해 냈습니다. 그러나 LuckyTemplates 전문가 중 한 명인 Antriksh Sharma는 깊이 파고들 가치가 있는 매우 효율적인 방법을 제시했습니다. DAX 도구 상자에서 추가 도구를 제공하는 측정값 개발에 그가 사용한 몇 가지 기술에 대해 설명합니다.
그것은 저와 이것을 본 다른 전문가들에게 확실히 도움이 되었습니다. 여러 달에 걸친 비교 가능한 영업일의 유사 비교는 일반적으로 많은 상황에서 사용할 수 있는 유용한 패턴입니다.
파워 쿼리에 대해 자세히 살펴보고 여기에서 Antriksh가 수행한 작업을 살펴보겠습니다. Month & Year , Total Sales , 그리고 마지막으로 우리가 개발한 what-if 매개변수를 기반으로 파워 쿼리를 사용하여 선택한 N 영업일의 Total Sales 가 있습니다 .
Antriksh는 이 전체 문제를 해결하기 위해 놀랍도록 짧은 조치를 사용하는 매우 다른 접근 방식을 취했습니다. 명령 의 사용이었습니다 .
이것은 자주 사용하지 않는 DAX 함수이지만 이러한 유형의 문제에 가장 적합합니다. SQL BI DAX 가이드를 살펴보면 GENERATE 함수는 두 개의 서로 다른 테이블을 입력으로 사용한 다음 SQL 명령 CROSS APPLY에 해당하는 작업을 수행하는 테이블 함수라고 나와 있습니다.
따라서 기본 테이블(Table1)을 가져와 반복한 다음 두 번째 테이블 식을 가져와 첫 번째 테이블의 각 행에 대해 평가한 다음 테이블에 출력으로 반환합니다.
Antriksh의 측정값을 가져와서 테이블에 떨어뜨려 봅시다. 지난 시간에 했던 파워 쿼리 솔루션과 정확히 같은 결과를 내는 것을 볼 수 있습니다. 그래서 그것은 훌륭하고 두 가지 측정을 아주 잘 검증합니다.
이 조치를 분리해 봅시다. 여기에 적용된 첫 번째 필터는 Dates[IsBusinessDay] = TRUE입니다. 이렇게 하면 확장 날짜 테이블 IsBusinessDay 필드를 기준으로 주말 및 휴일이 아닌 날짜가 모두 제거됩니다.
우리는 첫 번째 자습서 에서 이에 대해 더 많이 이야기하며 이를 휴일 테이블에 연결하는 방법도 살펴보았습니다.
이것의 흥미로운 부분은 실제로 두 개의 테이블 입력에 있습니다. 첫 번째 테이블은 Date 테이블에 있는 Month & Year 필드의 한 열 테이블입니다.
그러나 두 번째 테이블 입력에서 흥미로운 일이 발생합니다. 사용한 다음 동적 매개변수를 TOPN의 행 수로 사용했습니다.
Total Sales 측정값이 두 번째 테이블에 연결된 다음 첫 번째 테이블에 적용됩니다.
목차
DAX 코딩 언어를 사용한 복잡한 측정 이해
이와 같은 복잡한 측정이 수행하는 작업을 파악하는 가장 쉬운 방법 중 하나는 Tabular Editor 로 이동하는 것입니다 . 우리는 이 표현식을 보고 이 TOPN 표현식이 무엇을 하는지 먼저 알아낼 수 있습니다.
TOPN 부분을 복사하고 새 DAX 쿼리를 생성해 보겠습니다 . DAX 쿼리는 EVALUATE로 시작합니다.
TOPN 부분을 붙여 넣으면 판매 주문 테이블에서 처음 5개의 날짜를 가져오는 것을 볼 수 있습니다. TOPN에는 판매 테이블 내의 모든 주문 날짜 값으로 구성된 테이블이 있습니다.
이 TOPN 함수는 what-if 매개변수(이 경우 5)의 값을 가져와 판매 주문 날짜 필드에 적용합니다. 그런 다음 필터 컨텍스트 내에서 해당 필드를 기준으로 오름차순으로 처음 5개 날짜를 가져옵니다.
추가 필터 컨텍스트가 없는 경우 전체 테이블에서 처음 5개의 날짜만 가져옵니다.
@Sales 열은 적절한 필터 컨텍스트 내의 총 판매액을 TOPN 테이블에 추가하는 것입니다.
지금까지 월 및 연도의 첫 번째 테이블, 판매 테이블의 첫 번째 N 날짜 TOPN의 두 번째 테이블, 그리고 이와 관련된 총 매출이 있습니다.
DAX 코딩 언어에서 GENERATE 테이블 사용
이 GENERATE 테이블이 수행하는 작업을 살펴보겠습니다. 테이블 형식 편집기로 돌아가 새 DAX 쿼리를 만듭니다.
EVALUATE에서 항상 하던 것처럼 시작하여 코드의 GENERATE 부분을 붙여넣고 5를 클릭합니다.
첫 번째 테이블의 각 행에 대해 @Sales 함수를 사용하여 컨텍스트에서 평가된 TOPN 테이블의 5개 행과 반복 및 조인하는 것을 볼 수 있습니다.
4월에 처음 5영업일, 5월에 처음 5영업일, 6월에 처음 5영업일이 걸리는 식으로 첫 번째 테이블이 끝날 때까지 계속됩니다.
이것이 바로 우리에게 필요한 것이며 이제 이러한 값을 더하는 것은 상대적으로 간단한 문제가 됩니다. 결과(GENERATE 결과의 테이블 변수)가 있고 @Sales 함수를 합산해야 합니다.
컨텍스트 내에서 우리는 이제 4월의 첫 5영업일, 5월의 첫 5영업일 등을 합산하여 총 $23,737,430가 될 때까지 합산합니다. 이 경우 운영할 월 및 연도 컨텍스트가 없습니다. .
이것은 전체 @Sales 열을 합산하고 파워 쿼리 솔루션에 있는 것과 정확히 동일한 합계를 얻습니다.
슬라이서를 10으로 변경하면 DAX 코딩 언어를 사용하여 파워 쿼리에서 수행한 것과 동일한 결과를 동적으로 얻는 것을 볼 수 있습니다.
또한 변경 사항을 반영하도록 동적으로 조정되는 하단 막대 차트가 있습니다.
측정 제목을 동적으로 조정
제가 보여드리고 싶었던 또 다른 추가 트릭이 있습니다. what-if 매개변수에 대한 동적 조정을 생성하고 이를 측정값 제목에 동적으로 연결할 수 있습니다.
예를 들어 상단의 슬라이서를 15로 변경하면 하단의 측정값 이름이 Total Sales for the First 15 Business Days of Each Month 로 동적으로 변경됩니다 .
조건부 서식을 사용하여 DAX에서 이 작업을 수행하는 쉬운 방법이 있습니다 . 우리는 기본적으로 세 개의 문자열을 사용합니다. 첫 번째는 First 의 Total Sales 이고, 이를 what-if 매개변수에서 수집한 값과 연결한 다음 제목의 나머지 부분에 연결합니다.
그런 다음 비주얼로 이동하여 제목의 조건부 서식으로 이동하고 fx 를 클릭합니다 .
필드 값으로 형식을 지정하고 해당 동적 제목 측정값을 선택합니다. 이렇게 하면 what-if 매개변수의 선택이 변경됩니다.
결론
현재 우리가 가지고 있는 것은 DAX 코딩 언어를 사용하는 완전한 솔루션입니다. 우리는 GENERATE 기능을 사용하여 이를 수행하는 정말 창의적이고 효율적인 방법에 대해 논의했습니다. 뛰어난 DAX 지식을 우리와 공유해 준 Antriksh에게 감사를 표하고 싶습니다. 저는 그의 DAX 솔루션을 거치면서 많은 것을 배웠고 여러분도 그랬기를 바랍니다.
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를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.