SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
회원을 위해 최근에 생각해낸 LuckyTemplates 팁에 대해 이야기하고 싶습니다 . 질문은 주어진 달의 처음 N 영업일 또는 처음 N 청구 가능 일을 이전 달의 같은 기간과 비교하여 보는 관점에서 유용한 패턴을 다루었습니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.
TJ Henneman은 이번 달의 처음 5일과 이전 달의 처음 5일을 비교하고 10일, 15일, 20일을 비교하려고 했습니다. 그래서 이것은 주말과 공휴일을 포함하지 않습니다. 그의 게시물을 확인할 수 있습니다 .
여기에 정말 흥미로운 파워 쿼리 솔루션이 있다고 생각합니다 . 또한 이 문제에 대해 흥미로운 DAX 솔루션을 사용했습니다 . 다른 자습서에서 후자를 살펴보겠습니다.
또한 LuckyTemplates 챌린지 #16에서 사용한 최근 보고 기술을 안내해 드리고 싶습니다 . 이 특정 문제에 대해 정말 잘 작동하는 스크롤 KPI 표시기를 사용했습니다 .
하지만 이 LuckyTemplates 팁에서는 파워 쿼리 솔루션을 다루겠습니다. LuckyTemplates로 이동하여 데이터를 살펴보겠습니다. 이를 위해 무료로 사용할 수 있는 LuckyTemplates에서 모은 실습 데이터 세트 도구를 사용하여 데이터를 시뮬레이션했습니다. 이는 기본 스타 스키마 데이터 세트를 구성하고 솔루션을 테스트하는 데 유용합니다.
목차
데이터 모델
데이터 모델은 확장 날짜 테이블 과 일련의 차원 테이블을 사용합니다. 또한 첫 해에는 3년 동안의 부분 데이터, 두 번째 해에는 전체 데이터, 세 번째 해에는 부분 데이터가 포함된 Sales 테이블이 있습니다. 마지막으로 측정값 테이블 도 있습니다 .
또한 이 데이터 세트를 약간 수정했습니다. 이 분석에서 제거할 공휴일을 제대로 계산할 수 있도록 휴일 테이블을 가져와 확장 날짜 테이블 에 연결했습니다 . 이 작업을 수행하는 방법을 잘 모르는 경우 이 자습서 를 확인하십시오 .
그런 다음 데이터 세트에서 첫 부분 월을 필터링했습니다. 그 달에는 며칠의 데이터만 있고 필요한 영업일이 없었기 때문입니다. 첫 달부터 시작한다는 점에 유의하십시오. 그 외에는 표준 데이터 세트가 됩니다. 이제 파워 쿼리 로 이동하여 이 LuckyTemplates 팁 작업을 시작하겠습니다.
데이터를 살펴보면 특정 날짜에 다른 주문이 있음을 알 수 있습니다. 목표는 4월 1일을 첫 번째 영업일로, 4월 2일을 두 번째 영업일로, 4월 3일을 세 번째 영업일로 시작하는 모든 항목에 번호를 매기는 것입니다. 주말과 공휴일을 제외하고 매월 영업일 기준 1일에서 N일까지 번호를 매길 것입니다.
중복 테이블 만들기
작업을 시작하려면 Total Sales 로 집계 하고 이를 개별 관찰 수준으로 가져올 수 있도록 이 테이블의 복제본을 만들어야 합니다 . 이 중복 테이블을 Sales Aggregated 라고 부를 것입니다 .
Sales 테이블을 단순히 참조하는 것이 아니라 복제했습니다 . 이 경우 이 테이블을 원래 Sales 테이블과 조인할 것입니다. 참조하면 둘을 결합할 때 문제가 발생합니다.
가장 먼저 할 일은 OrderDate 열 에서 Group By를 사용하는 것입니다 . 고급 버튼을 클릭하면 여기에서 수행하는 작업에 대한 전체 그림을 볼 수 있습니다. Total Day Sales를 새 열 이름으로 지정 하고 라인 합계의 합계가 됩니다.
이제 각 날짜(첫 번째 열)와 해당 날짜의 총 매출(두 번째 열)이 있습니다.
날짜 테이블 병합
이 LuckyTemplates 팁의 다음 단계는 이것을 날짜 테이블 과 병합하여 영업일인 날과 그렇지 않은 날을 파악하는 것입니다. 다시 그룹화하여 분할하고 적절하게 번호를 매길 수 있습니다 .
Dates 테이블을 병합 하고 OrderDate 를 Date 에 연결합니다 . 아래쪽에서 선택 항목이 테이블의 모든 행과 일치하는 것을 볼 수 있습니다.
우리가 주로 관심을 갖는 분야는 IsBusinessDay 입니다 .
이것은 그룹화할 기본 필드이며 Month & Year 및 MonthnYear 필드를 사용합니다.
또한 적절한 요일을 필터링하고 있는지 확인하기 위해 DayofWeekName을 확인해야 합니다 .
확인 버튼을 클릭하면 필요한 것을 정확하게 제공합니다.
또한 주문 날짜가 오름차순으로 정렬되어 있는지 확인해야 합니다.
그런 다음 돌아가서 두 번째 Group By 를 만듭니다 .
이번에는 Advanced 버튼을 클릭하고 Month & Year 를 그룹화한 다음 두 번째 그룹화를 추가합니다.
두 번째 그룹은 IsBusinessDay 에 대한 것이므로 영업일이 참인 그룹에 번호를 매길 수 있습니다.
그런 다음 AllRows 함수를 생성하여 집계하지 않고 원래 수준의 세분성으로 돌아갈 수 있습니다.
이렇게 하면 매월 true 에 대한 테이블 과 false 에 대한 테이블을 볼 수 있는 중첩 테이블이 제공됩니다 .
사용자 지정 열 만들기
다음으로 영업일에 필요한 개수를 추가하기 위해 사용자 지정 열을 만들어야 합니다 .
우리는 AllRows 테이블 에서 작동하는 Table.AddIndexColumn 이라는 함수를 사용하고 이를 Day Index 라고 부를 것입니다 . 인덱스가 1부터 시작하여 새 영업일마다 1씩 증가하기를 원합니다.
그런 다음 처음 세 개의 열을 제거하고 네 번째 사용자 지정 열을 확장할 수 있습니다.
결과를 보면 영업일(true)을 카운트한 다음 각 월의 주말 및 공휴일인 날짜(false)를 카운트하는 일 인덱스를 제공합니다. 다음으로, 이들이 적절한 필드 유형에 있는지 확인해야 합니다.
Sales 테이블로 돌아가 보겠습니다. 방금 만든 Aggregate 테이블을 Sales 테이블과 병합합니다.
OrderDate 에 병합합니다 . 하단에서 첫 번째 테이블의 모든 행과 일치하는 것을 볼 수 있습니다.
Sales Agg 열을 확장할 때 방금 추가한 새 필드인 Month & Year , DayOfWeekName , MonthnYear , IsBusinessDay 및 DayIndex 열을 선택합니다.
Close & Apply 를 클릭하기 전에 데이터를 정리합시다 . Data Prep 섹션 에서 Sales Agg 테이블을 이동한 다음 데이터 모델 내에서 필요하지 않으므로 해당 테이블을 언로드합니다. 그런 다음 닫기 및 적용을 클릭합니다 .
이제 파워 쿼리 준비 작업이 완료되었습니다.
What-If 매개변수 생성
원래 작업에서 우리는 5일에서 10일, 15일에서 20일로 일수를 변경하려고 합니다. 이를 수행하는 가장 좋은 방법은 새로운 가상 매개 변수를 사용하는 것이라고 생각합니다 .
what-if 매개변수를 First N Business Days 라고 하고 해당 데이터 유형은 정수입니다. 최소값은 1씩 증가하고 최대값은 20으로 설정됩니다. 그런 다음 기본값은 사용자가 원하는 첫 번째 값인 5입니다.
이제 슬라이서 값을 캡처하기 위해 수확 측정값을 자동으로 생성하는 슬라이서가 있습니다.
결과로 테이블을 만들어 봅시다. Month & Year 차원을 캔버스에 넣은 다음 Month & Year 기준으로 정렬해 보겠습니다 .
이 필드를 제대로 정렬했으면 Total Sales 측정값을 삭제하고 확장하면 됩니다.
영업일 수에 대한 측정값 만들기
슬라이더 매개변수의 값을 살펴보고 영업일 수에 대해서만 계산하는 측정값을 하나 더 만들어야 합니다.
이 새 측정값을 Total Sales N Bus Days 라고 합니다 . 컨텍스트를 확실히 변경하고 있으므로 함수와 Total Sales 측정값 부터 시작하겠습니다 . Sales 테이블의 로 이것을 필터링할 것입니다 .
다음 단계는 슬라이더에 대해 고려하려는 조건을 작성하는 것입니다. 파워 쿼리에서 만든 영업일 인덱스가 있고 이것이 슬라이서의 수집된 값인 첫 N 영업일 값보다 작거나 같기를 원합니다.
예를 들어 슬라이더가 5에 있는 경우 일 인덱스가 5보다 작거나 같은 Sales 테이블의 모든 일을 원합니다.
그런 다음 비영업일을 제외하고 싶습니다. Date 테이블을 참조하고 IsBusinessDay 필드를 사용합니다. TRUE인 결과만 살펴보겠습니다.
마지막으로 월 및 연도 에 대한 컨텍스트를 다시 가져오고 측정을 종료합니다. 이 시점에서 진행하는 것이 좋습니다.
새 측정값을 테이블에 드롭해 보겠습니다.
슬라이더 슬라이서를 10일 표시로 가져갈 수 있으며 테이블은 10일 표시에서 동적으로 계산됩니다.
결론
이 LuckyTemplates 팁에서는 파워 쿼리 솔루션을 사용하여 유사 비교를 동적으로 수행하는 방법에 대해 설명했습니다. 이것을 막대 차트 또는 라인 차트에 넣을 수 있습니다.
예정된 일부 자습서에서는 DAX 솔루션을 살펴보고 KPI 스크롤러의 시각화를 구현합니다.
이 특정 튜토리얼에서 다루는 내용이 마음에 드셨다면 LuckyTemplates TV 채널 을 구독하는 것을 잊지 마십시오 .
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를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.