SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
이 자습서에서는 DAX Studio의 데이터 캐시 구체화에 대해 설명합니다. 이 게시물은 쿼리로 결과를 생성하는 동안 계산에 어떤 영향을 미치는지 보여줍니다. DAX의 성능을 최대화하기 위해 어떤 구체화가 더 나은지 알아봅니다.
구체화에는 초기 구체화 와 후기 구체화 라는 두 가지 아이디어가 있습니다 .
목차
조기 구체화
조기 구체화는 구체화된 행 수가 출력에 필요한 행 수보다 큰 경우입니다.
출력이 달력 연도별 테이블이고 5년의 데이터가 있는 경우 많은 구체화된 행을 가져올 필요가 없습니다. 모범 사례는 필요한 행 수와 동일한 구체화된 행 수를 갖는 것입니다. 그러나 DAX 및 데이터 설정 의 복잡성에 따라 달라지기 때문에 항상 그런 것은 아닙니다 .
데이터는 열로 구성되어 있음을 항상 기억하십시오. 따라서 수식 엔진이 테이블에서 작동해야 하는 경우 열이 구체화되는 테이블 형식으로 다시 결합됩니다. 초기 구체화 아이디어에서 스토리지 엔진은 데이터 캐시를 수식 엔진으로 보냅니다. 그런 다음 수식 엔진은 해당 캐시에서 작동하고 복잡한 프로세스를 수행합니다.
데이터 모델에 복잡한 조인 또는 다대다 관계가 있으면 조기 구체화가 발생할 수 있습니다. 복잡한 필터나 반복자가 있는 경우에도 발생할 수 있습니다.
복잡한 조치를 취하는 것이 잘못된 것은 아닙니다. 스토리지 엔진을 최대한 활용하려면 올바르게 설정하기만 하면 됩니다.
늦은 구체화
늦은 구체화는 구체화된 행 수가 출력에 필요한 행 수와 같거나 근접한 경우입니다.
스토리지 엔진은 거의 모든 작업을 수행하며 공식 엔진에는 아무것도 남지 않습니다. 이렇게 하면 전체 계산이 더 빨라집니다.
다음은 Early 및 Late Materialization의 예제 쿼리입니다.
이러한 쿼리를 실행하기 전에 캐시를 지워야 합니다. 이렇게 하면 쿼리가 콜드 캐시에 대해 실행됩니다. 캐시를 지우지 않고 DAX를 실행하면 다음과 같은 결과가 나타납니다.
총 실행 시간은 이미 캐시를 사용했기 때문에 1861밀리초에 불과합니다. 따라서 쿼리를 실행하기 전에 항상 캐시를 지우십시오.
Early Materialization 쿼리를 실행하면 총 소요 시간이 9485밀리초임을 알 수 있습니다. 1개의 데이터 캐시와 1행 출력을 생성했지만 2,500만 행을 반환했습니다.
1행 결과를 얻기 위해 2,500만 행을 구체화할 필요가 없습니다. 시간이 걸리고 DAX의 성능이 느려지기 때문입니다.
Late Materialization 쿼리를 실행하면 전체 계산에 1340밀리초만 소요되었음을 알 수 있습니다. 또한 각각 5003개의 행을 반환하는 2개의 데이터 캐시를 생성했습니다.
물리적 쿼리 계획을 보면 5000개의 행을 볼 수 있습니다. 동일한 수의 행이 없습니다. Server Timings의 결과는 때때로 쿼리 계획의 정확한 행 수와 약간의 불일치가 있습니다.
따라서 2,500만 개의 행이 있는 하나의 데이터 캐시에서 작업하여 이제 5003개의 행이 있는 두 개의 데이터 캐시가 있습니다. 이것이 바로 Later Materialization으로 작업하는 것이 Early Materialization보다 더 빠른 결과를 얻는 이유입니다.
각 구체화 쿼리 내부
쿼리만 봐도 Later Materialization이 더 빠르다는 것을 이미 알 수 있습니다. Early Materialization 쿼리는 요약된 테이블의 행 수를 계산합니다.
요약 및 구체화된 테이블은 테이블에서 의
쿼리가 느린 경우 쿼리에서 가져오는 행 수와 출력에 필요한 행 수를 확인하는 것부터 시작하세요. 논리적 쿼리 계획으로 이동하여 계산 내에서 발생하는 작업 흐름을 따를 수도 있습니다.
LuckyTemplates Desktop의 DAX Studio란? DAX 자습서: 컨텍스트 및 LuckyTemplates의
계산 엔진 측정: 최적화 팁 및 기술
결론
구체화는 쿼리가 데이터 모델에서 열 또는 행을 가져올 때 발생합니다. 이 프로세스는 엔진이 쿼리 결과를 제공하기 위해 데이터 모델에서 데이터를 가져올 때 자연스럽게 발생합니다.
그러나 DAX가 결과에 필요한 것보다 너무 많은 행을 가져오는 경우 문제가 발생할 수 있습니다. 이 문제는 특정 프로세스를 수행하도록 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를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.