SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
이 자습서에서는 UNION 함수를 사용하여 DAX 최적화 기술을 배웁니다 . 이 자습서에서는 UNION 함수와 파워 쿼리 및 기타 테이블 결합 기술의 성능을 비교합니다.
UNION 함수는 행을 결합하고 중복 행을 제거하여 두 테이블을 단일 테이블로 결합합니다
이 자습서의 예제는 매년(2007, 2008, 2009) 세 개의 테이블로 분할된 판매 테이블입니다.
목차
DAX의 UNION 함수
DAX Studio를 열고 서버 타이밍 및 쿼리 계획을 시작합니다.
아래 DAX 코드는 예제로 사용됩니다.
코드를 실행한 후 서버 타이밍 탭으로 이동합니다. 코드를 실행하는 데 총 5.4초가 걸린다는 것을 알 수 있습니다. 대부분의 실행 시간은 스토리지 엔진 에서 소비되었습니다 . 이 세 쿼리는 각각 동일한 작업을 포함하지만 연도는 다릅니다.
이 세 가지 쿼리가 저장소 엔진에서 반환된 후 수식 엔진은 논리 쿼리 계획에서 볼 수 있는 UNION을 수행합니다. 쿼리 계획은 수행하여 Total Sales를 계산합니다.
물리적 쿼리 계획에서 Sales 테이블에서 매년 수행되는 작업을 포함하는 세 개의 데이터 캐시를 볼 수 있습니다.
DAX 성능 비교
비교를 작성하기 위해 원본 Sales 테이블을 사용하여 Total Sales에 대한 측정값을 만들어 보겠습니다.
이 코드를 실행하고 Server Timings 탭으로 이동하면 UNION 함수보다 훨씬 효율적인 것을 확인할 수 있습니다.
UNION 함수는 97.9KB를 사용하는 반면 새 측정값은 1KB만 사용합니다.
UNION을 사용하면 DAX 엔진이 엄청난 양의 데이터 캐시를 Formula 엔진으로 다시 반환합니다. 이것은 RAM에 많은 압력을 가합니다.
따라서 백만 개 이상의 행이 포함된 데이터 모델을 다루는 경우 UNION 함수를 사용하지 않는 것이 좋습니다.
UNION DAX 기능 대안
이 예제에서는 UNION을 사용하는 대신 세 가지 SUMX 함수를 사용할 수 있습니다 . 즉, 매년 하나의 SUMX 함수입니다.
이 코드를 실행하고 Server Timings 탭으로 이동하면 실행 시간이 현저히 줄어든 것을 확인할 수 있습니다. 세 가지 다른 쿼리를 실행하는 동안 5,400ms에서 33ms로 변경되었습니다.
또 다른 방법은 파워 쿼리 또는 데이터 원본 자체에 데이터 모델 테이블을 추가하는 것입니다.
하지만 가장 좋은 방법은 이 세 테이블의 합집합을 수행할 계산된 테이블을 만드는 것입니다. 그러나이 옵션에는 장단점이 있습니다.
계산된 테이블을 사용하면 파워 쿼리에서 추가를 수행하는 것과는 반대로 전체 처리 시간을 절약할 수 있습니다. 그러나 이로 인해 VertiPaq의 데이터베이스 크기가 증가합니다.
계산된 테이블을 사용하면 세 테이블을 결합하는 새 테이블이 생성됩니다. 그러나 이 세 개의 분할 테이블은 데이터베이스에 계속 남아 있습니다.
이 예에서 세 개의 테이블은 총 25MB를 사용합니다. 계산된 테이블을 만들면 RAM에서 25MB가 더 소모됩니다.
이와 같은 민감한 사례의 경우 취해야 할 최선의 조치가 무엇인지 교육적인 결정을 내려야 합니다.
결론
DAX의 UNION 함수는 두 개의 테이블을 하나로 결합하여 데이터 분석을 더 쉽게 만듭니다. 두 테이블을 입력으로 사용하고 두 입력 테이블의 모든 행을 포함하는 새 테이블을 반환하는 방식으로 작동합니다. 그러나 이 기능에는 자체 제한이 있습니다.
UNION 함수는 특히 입력 테이블이 큰 경우 데이터를 결합하는 다른 방법보다 느릴 수 있습니다. 또한 다른 대안과 달리 저장소에서 더 많은 공간을 사용할 수 있습니다.
상황에 따라 테이블을 결합해야 하는 경우 UNION 함수를 사용하기로 결정하기 전에 먼저 장단점을 따져보는 것이 중요합니다. 대안으로는 SUMX 함수, 데이터 모델 테이블 또는 계산된 테이블이 있습니다.
모두 제일 좋다,
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를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.