파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
및 CALCULATE 함수를 포함한 변수에 대해 설명합니다 . 이것이 DAX 쿼리의 성능을 향상하고 정확한 결과를 제공하는 데 어떻게 도움이 되는지 이해하게 될 것입니다.
변수는 최적화를 위한 코드를 쉽게 찾을 수 있기 때문에 가능한 한 많이 사용해야 합니다. 잘못된 출력을 방지하고 오류를 찾는 시간을 절약할 수 있습니다. 그러나 변수로 인해 값이 다시 계산되지 않는 경우가 있습니다. 따라서 일단 값으로 정의되면 해당 값은 CALCULATE 로도 변경할 수 없습니다 .
반복 내부와 외부에서 변수를 사용하면 다른 결과가 생성되므로 변수를 정의하고 사용해야 하는 위치를 아는 것이 중요합니다. 사용할 위치에 가깝게 정의해야 합니다. 이것은 또한 긴 코드를 분해하는 데 도움이 되므로 코드를 더 쉽게 이해하고 디버그할 수 있습니다.
목차
CALCULATE 및 FILTER를 사용하여 DAX 쿼리 생성
DAX에서 결과 및 답변을 얻는 방법에는 여러 가지가 있습니다. 작업 중인 내용에 익숙해질 수 있도록 보고서를 만들 때 고유한 스타일과 흐름을 개발해야 합니다. 자신만의 스타일이 있더라도 FILTER 와 같은 다른 방법에 대해 CALCULATE 를 사용하는 것을 포함하는 특정 지침을 따라야 합니다 .
FILTER는 압축되지 않은 많은 데이터를 수식 엔진으로 보낼 수 있으며 잠재적으로 CallBackDataID를 트리거할 수 있습니다. CALCULATE 및 FILTER 의 결과를 표시하기 위해 여기에서 측정값이 사용됩니다 . 여기에는 쿼리에 대해 로컬인 정의된 측정값도 있습니다. 정의된 측정값은 데이터 모델에서 찾을 수 없지만 코드를 더 빠르게 개발하고 문제를 해결할 수 있습니다.
첫 번째 줄에서 날짜에 대한 변수를 정의하는 측정값을 볼 수 있습니다. 즉, 2016년 3월 31일 또는 그 이후에 발생하는 날짜에 대해 Fact 테이블을 필터링합니다. Fact Sales 테이블을 반복하고 Quantity 및 Current Price를 곱하는 Total Sales의 간단한 측정값도 볼 수 있습니다.
다음 조치는 내부의 사용하는 것입니다 . CallBackDataID 모듈 에서 호출하는 경우 SUMX 함수 내에서 IF를 사용하면 CallBackDataID 가 생성됩니다 .
이 측정값은 전체 Fact Sales 테이블을 필터링합니다. 날짜 테이블에서 오는 필터를 제거합니다.
일대다 관계의 한쪽에 있는 모든 열도 필터링하므로 전체 테이블을 필터링할 때는 주의해야 합니다.
이 측정은 이전 측정과 동일합니다. 유일한 차이점은 전체 테이블을 필터링하지 않는다는 것입니다. SUMX를 사용하여 필터링된 테이블만 반복합니다.
이것은 Fact Sales 테이블을 필터링하는 또 다른 측정값이지만 이번에는 테이블이 있는 열에만 있습니다.
마지막 측정은 CALCULATE 와 데이터 모델을 사용하여 데이터를 필터링하고 검색하는 것입니다.
실행 및 각 조치 확인
먼저 IF 측정을 실행합니다. 쿼리를 실행하고 서버 타이밍 및 쿼리 계획을 켜기 전에 캐시를 지우십시오.
정확한 데이터를 제공하지만 CallBackDataID 와 3개의 Duration 으로 인해 성능이 느립니다 .
전체 Fact Sales 테이블을 필터링하는 측정을 실행하면 여전히 CallBackDataID 를 볼 수 있습니다 . 또한 15,003개의 행을 생성하고 잘못된 결과를 제공합니다.
모든 Fact Sales 테이블을 필터링하지 않는 측정을 실행하면 올바른 결과를 얻을 수 있습니다. 그러나 여전히 CallBackDataID 및 구체화된 15,003개의 행이 표시되지만 7개의 출력 행만 있습니다.
열을 필터링하는 다음 측정값을 실행합니다. 올바른 결과를 얻고 CallBackDataID 를 제거합니다 . 그러나 여전히 많은 행을 구체화한 것을 볼 수 있습니다.
CALCULATE 측정을 실행합니다 . 10개의 행만 구체화하고 5밀리초 만에 올바른 데이터를 생성한 것을 확인할 수 있습니다.
CallBackDataID 가 없고 10개의 행만 가져오기 때문에 위의 모든 측정 중에서 가장 빠릅니다. 이것은 빠르고 정확한 결과를 얻는 데 있어 CALCULATE이 얼마나 인상적인지 보여줍니다.
모든 DAX 쿼리 또는 측정값을 실행하면 기간에 따라 가장 느리고 빠른 것이 무엇인지 확인할 수 있습니다. 각 측정의 결과도 볼 수 있습니다.
결론
필터를 CALCULATE로 이동하면 CallBackDataID가 제거되므로 시간과 구체화가 절약됩니다. 데이터를 두 번 반복할 필요가 없습니다. 이것은 또한 DAX의 성능을 최대화하고 개발 기술을 향상시키는 데 도움이 됩니다.
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것