초보자를 위한 궁극의 DAX 가이드

초보자를 위한 궁극의 DAX 가이드

LuckyTemplates 개발의 세 번째 기둥은 DAX 계산입니다. 이 자습서에는 형식 지정 및 편집에 대한 기본 사항을 다루는 초보자를 위한 철저한 DAX 가이드가 포함되어 있습니다. 자주 사용되는 DAX 함수도 토론에 포함됩니다.

목차

DAX 편집기 가이드

무엇보다도 알아야 할 몇 가지 DAX 편집기 팁은 다음과 같습니다.

Ctrl + 마우스 스크롤 휠을 사용하여 DAX 편집기 창에서 글꼴 크기를 늘리거나 줄입니다.

초보자를 위한 궁극의 DAX 가이드

이름의 모든 인스턴스를 한 번에 업데이트하려면 Ctrl + Shift + L을 사용하십시오 .

초보자를 위한 궁극의 DAX 가이드

DAX의 가상 테이블 또는 임시 열 이름에 " @ " 접두사를 추가합니다.

초보자를 위한 궁극의 DAX 가이드

서식 지정을 위한 DAX 가이드

DAX 코드는 구성되고 사용자가 쉽게 이해할 수 있어야 합니다.

당신은 현재 자신을 위해 코드를 작성하고 있을 뿐만 아니라 미래의 자신을 위해 코드를 작성하고 있습니다.

지금은 물론 나중에 자신과 다른 사람이 쉽게 읽고 이해할 수 있는 DAX 코드를 개발하는 것이 중요합니다.

편집 및 구성으로 인해 코드가 망가져도 걱정하지 마십시오. 컴퓨터는 똑똑합니다. 구문이 정확하기만 하면 그들은 당신이 작성한 코드를 해석하고 실행할 수 있습니다.

Marco Russo의 훌륭한 인용문은 다음과 같습니다.

형식이 지정되지 않은 경우 DAX가 아닙니다.

DAX를 포맷하는 방법에는 여러 가지가 있습니다. 권장 옵션은 LuckyTemplates Analyst Hub에서 제공되는 DAX 정리 도구를 사용하는 것입니다.

초보자를 위한 궁극의 DAX 가이드

사용하여 이 도구에 액세스할 수 있습니다 . 또 다른 방법은 LuckyTemplates 웹 사이트에 액세스한 다음 리소스를 선택하는 것입니다. 페이지 하단에 DAX 정리 도구가 있습니다.

이 도구를 사용하려면 LuckyTemplates 파일의 DAX 편집기에서 코드를 복사합니다. DAX 정리 도구에 붙여넣은 다음 형식을 클릭합니다.

초보자를 위한 궁극의 DAX 가이드

정리가 완료되면 서식이 지정된 코드를 다시 LuckyTemplates 파일에 붙여넣을 수 있습니다.

초보자를 위한 궁극의 DAX 가이드

도구 내에서 코드를 편집할 수도 있습니다.

DAX 코드에 주석 달기

복잡한 DAX 코드를 처리할 때는 주석을 추가하는 것이 좋습니다. 의사 코드 설명을 통해 많은 이점을 얻을 수 있습니다. 그러나 예외가 있습니다.

댓글 달기는 매우 개인적인 활동입니다. 개발자와 사용자의 댓글 수준에 대한 다양한 의견이 있을 수 있습니다. 다시 말하지만, 코드와 주석을 작성할 때 향후 인스턴스에서 사용자나 개발자가 코드와 주석을 어떻게 받아들이고 이해할지 고려하는 것이 중요합니다. 그렇게 하면 장기적으로 귀하와 비즈니스에 큰 도움이 될 것입니다.

변수에 대한 DAX 가이드

자세한 변수 이름을 사용하십시오. 핵심은 명확성입니다 . 명확하고 이해하기 쉬운 이름을 만드는 것이 중요합니다.

다시 말하지만, 컴퓨터는 영리하며 무엇이 쓰여지고 있는지 쉽게 알아낼 수 있습니다. 따라서 컴퓨터나 LuckyTemplates를 위해 작성하는 것이 아님을 기억하십시오. 당신은 당신 자신과 다음 달에 당신의 코드를 사용하고 유지할 사람을 위해 작성하고 있습니다.

DAX 코드에서 변수를 사용하는 경우 후속 줄에서 올바른 변수를 선택할 수 있도록 변수 이름 앞에 접두사를 사용하는 것이 가장 좋습니다. 밑줄 ( _ ) 권장되는 접두사입니다. 또한 LuckyTemplates의 IntelliSense 기능에 표시되는 목록을 줄이는 데 도움이 됩니다.

예를 들면 다음과 같습니다.

초보자를 위한 궁극의 DAX 가이드

밑줄을 입력하면 두 가지 선택 항목만 표시되는 것을 볼 수 있습니다. 선택의 수가 크게 줄어들어 코딩 시 효율성이 향상됩니다.

또 다른 모범 사례는 RETURN Result 구문을 사용하는 것입니다 .

초보자를 위한 궁극의 DAX 가이드

이렇게 하면 DAX 코드를 점진적으로 개발하고 디버그하기가 더 쉬워집니다.

DAX 계산 자격

DAX 식에서 열을 사용하는 경우 여러 테이블에서 동일한 열 이름을 가질 수 있으므로 구체적이어야 합니다.

예를 들어 고객 및 판매 테이블 모두에서 고객 키 열이 발생할 수 있습니다.

초보자를 위한 궁극의 DAX 가이드

종종 같은 것을 의미하고 동일한 데이터를 포함하지만 항상 그런 것은 아닙니다. 원하는 결과를 얻으려면 항상 열 이름을 한정해야 합니다.

또한 측정값이 테이블에 연결되지 않았는지 확인해야 합니다. 한 테이블에서 다른 테이블로 이동할 수 있으므로 측정값 이름이 정규화되지 않았는지 확인하는 것이 중요합니다.

알아야 할 중요한 DAX 기능

1. 계산

계산 컨텍스트를 변경할 수 있는 가장 중요한 DAX 함수 중 하나입니다.

하지만 이 기능은 사용하기 어려워서가 아니라 이름 때문에 혼동을 일으키는 경우가 많습니다. CALCULATE라고 해도 실제로 계산을 수행하는 것은 아닙니다. 오히려 계산의 맥락을 바꾸고 있습니다.

예를 들어 이 Sales LY 측정값에서 CALCULATE 함수는 Total Sales 계산 컨텍스트를 현재 평가 컨텍스트보다 1년 앞선 것으로 변경하는 데 사용됩니다.

초보자를 위한 궁극의 DAX 가이드

2. 날짜추가

DAX에서 사용할 수 있는 많은 시간 인텔리전스 기능이 있습니다. , 함수를 사용합니다 . 그러나 가장 다재다능한 DAX 시간 인텔리전스 기능 중 하나입니다. 그리고 이 기능은 첫 번째 선택이어야 합니다.

DATEADD를 사용하면 YEAR, QUARTER, MONTH 또는 DAY에 대해 동일한 구문을 여러 계산에 사용할 수 있습니다. 따라서 약간의 편집으로 복사 및 붙여넣기를 사용하여 여러 시간 인텔리전스 측정을 매우 쉽게 만들 수 있습니다.

초보자를 위한 궁극의 DAX 가이드

3. 나누기

LuckyTemplates의 분할은 여러 가지 방법으로 수행할 수 있습니다. 가장 기본적인 방법은 간단한 산술 나눗셈을 사용하는 것입니다.

초보자를 위한 궁극의 DAX 가이드

그러나 0으로 나누는 경우 일반적으로 진행하기 전에 정교한 테스트를 수행해야 합니다. 다행히 이를 처리하는 DAX 함수가 있습니다.

DIVIDE 함수는 0으로 나누는 경우를 자동으로 처리하고 대체 결과 추가할 수도 있습니다. LuckyTemplates에서 산술 나누기보다 더 간단하기 때문에 코드를 더 읽기 쉽습니다.

초보자를 위한 궁극의 DAX 가이드

4. 참으로 전환

또 다른 DAX 코드는 논리입니다.

평가할 조건이 여러 개인 경우 종종 읽고 추적하기 어려운 중첩된

SWITCH TRUE 문은 나중에 코드를 수정하고 조건을 새 조건으로 조정할 수 있는 유연성을 제공합니다. 또한 더 콤팩트하여 읽기가 더 쉽습니다.

초보자를 위한 궁극의 DAX 가이드

가상 테이블에 대한 DAX 가이드

DAX 코드에서 가상 테이블을 구성할 때 함수를 사용하여 열을 기본 테이블로 그룹화합니다. 구문 으로 둘러싸 열을 추가하십시오.

다시 말하면 ADDCOLUMNS 함수를 사용하여 열에 " @ " 접두사를 사용하여 모호성을 방지하고 선택한 가상 테이블 열이 올바른지 확인하십시오.

또한 가상 테이블을 처리할 때 DAX Studio 또는 Tabular Editor를 사용하여 도움을 받는 것이 좋습니다.

LuckyTemplates에서 한 쌍의 테이블 간에 많은 관계가 있을 수 있습니다. DAX 코드는 기본적으로 활성 관계를 사용합니다. 명령 을 사용하여 특정 비활성 관계를 사용하도록 수정할 수 있습니다 .

예를 들어 Dates 테이블과 Sales 테이블의 Date 열 간에는 많은 관계가 있을 수 있습니다. Sales [Order Date] 는 활성 관계이고 Sales [Invoice Date] 는 비활성 관계입니다. 판매 [주문 날짜]를 계산에 사용하려는 경우 추가 노력이 필요하지 않습니다. 그러나 판매 [송장 날짜]를 계산에 사용하려면 USERELATIONSHIP 명령 과 함께 사용해야 합니다 .

초보자를 위한 궁극의 DAX 가이드

LuckyTemplates의 모델 보기에서 실선 위로 마우스를 가져가면 활성 관계가 표시됩니다. 두 개의 점선은 두 테이블의 각 요소 간의 비활성 관계를 보여줍니다.

초보자를 위한 궁극의 DAX 가이드

샘플 보고서를 살펴보면 주문 날짜별 판매 열, 송장 날짜별 판매 열 및 배송 날짜별 판매 열 간에 차이가 있음을 알 수 있습니다.

초보자를 위한 궁극의 DAX 가이드

측정값과 계산된 열

계산된 열을 사용하면 데이터를 볼 수 있기 때문에 Excel 배경에서 온 사람들이 편안하게 사용할 수 있는 곳입니다 . 그러나 DAX 및 LuckyTemplates의 모범 사례는 측정값을 최대한 많이 사용하는 것입니다.

계산 열이 사용되는 특정 경우가 있습니다. 종종 계산의 시각화를 돕기 위한 시작점으로 개발됩니다. 그러나 머리 속에 계산이 완전히 시각화되면 이후에 이를 측정값으로 대체해야 합니다. 또한 계산 열은 측정값과 달리 슬라이서에서 사용할 수 있습니다.

측정값은 계산될 때 데이터 모델의 물리적 크기를 늘리지 않습니다. 시각적으로 사용될 때만 수행됩니다. 그러나 계산 열은 파일을 새로 고칠 때마다 계산되고 물리적으로 저장되기 때문에 데이터 모델의 물리적 크기를 늘립니다.

분기 측정을 위한 DAX 가이드

LuckyTemplates에서 가장 유용한 기술 중 하나는 측정 분기 입니다 .

코드를 모듈화하는 가장 좋은 방법은 간단한 계산을 수행하는 단순 또는 기본 측정으로 시작한 다음 필요에 따라 결합하여 보다 복잡한 계산을 수행하는 것입니다. 수행 중인 계산을 보려면 기본 및 임시 측정값을 테이블에 넣으십시오.

구체적인 조치가 어디에 있어야 하는지에 대해 여러 학파가 있으며 모든 방법에는 장단점이 있습니다. 하지만 LuckyTemplates 개발에서는 전용 측정 그룹을 사용하는 것이 더 유리합니다 . 모든 측정값이 필드 창 상단의 동일한 위치에 있으면 DAX 계산에서 논리를 더 쉽게 추적할 수 있습니다.

초보자를 위한 궁극의 DAX 가이드

DAX 계산의 컨텍스트

LuckyTemplates의 주요 강점 중 하나는 컨텍스트입니다. 또한 개발자가 이해하기 가장 어려운 개념 중 하나이기도 합니다.

컨텍스트는 계산이 수행되는 환경입니다.

종종 행 컨텍스트필터 컨텍스트 라는 두 가지 컨텍스트가 표시됩니다 . 그러나 실제로는 세 번째 요소인 평가 컨텍스트가 있습니다 .

그러면 다시 CALCULATE 명령 으로 돌아가서 사용자가 계산 컨텍스트를 변경할 수 있습니다. DAX 및 LuckyTemplates에는 집계 함수반복 함수 라는 두 가지 기본 함수 클래스가 있습니다 .

집계 함수는 단일 열의 값을 집계하는 함수입니다. 집계 함수의 예로는 , 가 있습니다 . 대부분의 집계 함수는 숫자 또는 날짜 값에서만 작동하지만 MAX 및 MIN은 텍스트 값에서도 작동합니다.

반복 함수는 테이블의 각 행에 대한 표현식을 계산하는 함수입니다. X 함수 라고도 합니다 . 예를 들면 , , 가 있습니다 . 여기에는 반복할 테이블과 계산을 수행하는 표현식의 두 가지 매개변수가 있습니다. 이것은 기본 테이블 또는 다른 관련 테이블의 여러 열을 사용할 수 있습니다.

다음은 집계 및 반복 함수가 다르게 사용되지만 동일한 결과를 제공하는 방법에 대한 간단한 예입니다.

초보자를 위한 궁극의 DAX 가이드

결론

이 DAX 가이드는 아직 탐색 및 학습 중인 새로운 LuckyTemplates 사용자를 지원하기 위한 것입니다. 이것은 빠른 복습 과정이 필요한 숙련된 개발자를 위한 원스톱 체크리스트로도 매우 유용합니다. 이 자습서는 LuckyTemplates에서 고급 보고서 개발을 위한 훌륭한 빌딩 블록입니다.

LuckyTemplates에는 기초부터 고급 코딩까지 DAX 자습서에 대한 다양한 리소스가 있습니다. DAX 프로그래밍 언어에 더 정통할 수 있도록 살펴보십시오.

그렉


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것