SharePoint의 계산된 열 | 개요
SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.
이 자습서에서는 LuckyTemplates의 두 가지 DAX 쿼리 계획에 대해 설명합니다.
쿼리 계획은 중요한 데이터를 생성하는 DAX의 성능에 영향을 미칩니다. 또한 보고서를 더욱 매력적으로 만드는 DAX 코드를 최적화하는 데 도움이 됩니다.
수식 엔진에서 생성되는 두 가지 쿼리 계획은 다음과 같습니다.
모든 DAX 쿼리는 이 두 이벤트를 트리거합니다.
목차
LuckyTemplates의 논리적 쿼리 계획
이것은 DAX 쿼리 흐름입니다. 이 부분에서는 논리 쿼리 계획 트리 단순화 인 세 번째 단계에 중점을 둡니다 .
이 쿼리는 DAX 쿼리와 유사합니다. DAX 쿼리를 실행하면 대부분 논리적 쿼리 계획이 수행하는 작업과 일치합니다.
설명을 위해 다음은 샘플 쿼리입니다.
이것을 실행하면 결과는 29,138이 됩니다.
DAX Studio에서 쿼리를 실행하고 쿼리 계획 이벤트 탭을 켜면 쿼리 계획이 표시됩니다. 두 가지 유형 중 Logical Query Plan이 먼저 나타납니다.
들여쓰기된 각 줄은 서로 위에 구축된 하위 작업입니다. 첫 번째 줄은 DAX의 최종 결과입니다. 다른 라인은 FactSales의 Quantity 열을 합산하고 스캔합니다.
콜론 앞의 첫 번째 단어를 연산자 라고 합니다 .
콜론 뒤의 단어를 연산자 유형 이라고 합니다 .
두 가지 유형의 연산자 유형이 있습니다.
RelLogOp 는 테이블 출력입니다. DAX는 VertiPaq을 사용하여 열을 스캔하여 테이블을 생성합니다. 반면에 ScaLogOp 는 스칼라 출력입니다. 이는 집계된 숫자임을 의미합니다. 쿼리 계획의 두 번째 줄과 마지막 줄을 보면 FactSales' Quantity의 수량을 합산하고 가져오는 것을 볼 수 있습니다.
논리적 쿼리 계획은 FactSales 테이블의 Quantity 합계가 있는 Total Quantity라는 단일 행 테이블을 생성합니다.
쿼리 계획은 간단한 DAX 쿼리를 사용하므로 디코딩하기가 더 쉽습니다. DAX가 복잡할수록 디코딩하기가 더 어려워집니다.
노력해야 할 좋은 점은 가능한 한 많은 "_VertiPaq" 연산자를 보는 것입니다. 즉, DAX 코드를 최적화하는 데 도움이 되는 모든 작업을 자체적으로 수행합니다.
LuckyTemplates의 물리적 쿼리 계획
Physical Query Plan은 두 가지 유형 중 두 번째로 나타납니다. 이것은 DAX 쿼리 흐름의 네 번째 단계입니다. 논리적 쿼리 계획과 동일한 트리 구조를 갖습니다.
논리적 쿼리 계획이 작성되면 실행될 물리적 쿼리 계획으로 전송됩니다. 동일한 샘플 쿼리를 실행하면 동일한 답변을 얻을 수 있습니다.
특히 DAX 쿼리 흐름의 네 번째 단계는 물리적 쿼리 계획 트리를 구축하는 것입니다 .
논리적 쿼리 계획과 비슷해 보일 수 있지만 다릅니다. 일반적으로 물리적 쿼리 계획은 LuckyTemplates 의 DAX 쿼리와 일치시키기 어렵지만 간단한 샘플 쿼리이므로 프로세스를 따라갈 수 있습니다.
다음은 물리적 쿼리 계획의 세 가지 연산자 유형입니다.
LookupPhyOp는 주어진 행 컨텍스트에서 스칼라 값을 제공합니다. InterPhyOp 는 행별로 테이블을 통해 데이터를 반복합니다. SpoolPhyOp는 VertiPaq 쿼리에서 결과를 받아 구체화하고 메모리에 저장합니다.
쿼리 계획의 네 번째 줄에서 쿼리가 스토리지 엔진으로 전송됨을 의미하는 ProjectionSpool 연산자를 볼 수 있습니다. 레코드 수로 쿼리 결과를 반복합니다.
쿼리 계획에 표시되는 레코드의 양은 응답을 완료하는 데 필요한 최소 레코드 양이어야 합니다. 이 간단한 쿼리의 결과에는 1개의 행만 있으므로 쿼리 계획에서 1개의 레코드를 반환했습니다.
ProjectionSpool의 SpoolPhyOp에 해당하는 레코드 열 은 저장소 엔진에서 수식 엔진으로 전송된 데이터의 양을 보여줍니다. 따라서 레코드가 많을수록 쿼리 속도가 느려집니다.
DAX 성능이 느린 경우 레코드 열에서 살펴보는 것이 좋습니다.
LuckyTemplates의 DAX 계산: 이 새로운 과정으로 DAX 기능을 최적화하는 모범 사례
LuckyTemplates DAX 기술을 향상시키기 위한 5가지 전략
결론
DAX 쿼리를 실행하면 답변을 제공하기 전에 일련의 단계를 거칩니다. 이러한 단계 중 두 단계는 논리적 및 물리적 쿼리 계획입니다. 이들은 계산에 사용된 공식의 단계별 프로세스 및 실행을 담당합니다.
이러한 쿼리 계획에 대해 자세히 알아보고 이해하려면 이 자습서를 살펴본 다음 DAX Studio를 사용하여 직접 확인해 보십시오.
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를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.