Excel DAX-연산자
DAX는 하나 이상의 값을 계산하고 반환하기 위해 수식 또는 식에 사용할 수있는 함수, 연산자 및 값으로 구성된 수식 언어입니다.
당신이 사용할 수있는 DAX operators값을 비교하고, 산술 계산을 수행하고, 문자열을 연결합니다. 이 장에서는 DAX 연산자와 사용 방법에 대해 알아 봅니다.
DAX 연산자 유형
DAX는 다음 유형의 연산자를 지원합니다.
- DAX 산술 연산자
- DAX 비교 연산자
- DAX 텍스트 연결 연산자
- DAX 논리 연산자
DAX 연산자 우선 순위
여러 값 또는 식을 결합하는 많은 DAX 연산자가있는 DAX 수식을 만들 수 있습니다. 이러한 경우 최종 결과는 작업이 수행되는 순서에 따라 달라집니다. DAX는 기본 연산자 우선 순위와 기본 우선 순위를 재정의하는 방법을 제공합니다.
DAX 기본 연산자 우선 순위는 다음 표에 나열되어 있습니다.
| 우선 순위 | 연산자 | 조작 |
|---|---|---|
| 1 | ^ | 지수화 |
| 2 | – | 기호 |
| 삼 | * 및 / | 곱셈과 나눗셈 |
| 4 | ! | 아니 |
| 5 | + 및 – | 더하기와 빼기 |
| 6 | & | 연쇄 |
| 7 | =, <,>, <=,> = 및 <> | 같음,보다 작음,보다 큼,보다 작거나 같음,보다 크거나 같음 및 같지 않음 |
DAX 식 구문
먼저 DAX 식 구문과 피연산자와 연산자를 사용하여 식을 평가하는 방법을 이해해야합니다.
모든 표현식은 항상 등호 (=)로 시작합니다. 등호는 다음 문자가 표현식을 구성 함을 나타냅니다.
등호 오른쪽에는 DAX 연산자로 연결된 피연산자가 있습니다. 예 : = 5 + 4> 5.
= 5 * 6-3.
식은 항상 왼쪽에서 오른쪽으로 읽히고 계산은 이전 섹션에 제공된 DAX 연산자 우선 순위에 따라 해당 순서로 수행됩니다.
DAX 연산자의 우선 순위 값이 같으면 왼쪽에서 오른쪽으로 평가됩니다. 예 : = 5 * 6 / 10. * 및 / 모두 선례 순서가 동일합니다. 따라서 표현식은 30/10 = 3으로 평가됩니다.
식의 DAX 연산자에 다른 우선 순위 값이 있으면 왼쪽에서 오른쪽으로 우선 순위에 따라 평가됩니다.
= 5 + 4> 7. 기본 우선 순위는 + first 및> next입니다. 따라서 표현식은 왼쪽에서 오른쪽으로 계산됩니다. -5 + 4가 먼저 계산되어 9가되고 9> 5가 계산되어 TRUE가됩니다.
= 5 * 6-3. 기본 우선 순위는 * first와-next입니다. 따라서 표현식은 왼쪽에서 오른쪽으로 계산됩니다. -5 * 6이 먼저 계산되어 30이되고 30-3이 계산되어 27이됩니다.
= 2 * 5-6 * 3. 기본 우선 순위는 * first, * next, then-입니다. 따라서 표현식은 10 – 18로 평가 된 다음 -8로 평가됩니다. 10-6이 아니라 4가되고 4 * 3은 12가됩니다.
괄호를 사용하여 DAX 계산 순서 제어
괄호를 사용하고 피연산자와 연산자를 그룹화하여 계산 순서를 제어하여 DAX 기본 연산자 우선 순위를 변경할 수 있습니다.
예를 들어 = 5 * 6-3은 DAX 기본 연산자 우선 순위를 사용하여 27로 평가됩니다. 괄호를 사용하여 피연산자와 연산자를 = 5 * (6-3)로 그룹화하면 6-3이 먼저 계산되어 3이되고 5 * 3이 계산되어 15가됩니다.
= 2 * 5-6 * 3은 DAX 기본 연산자 우선 순위에 따라 -8로 평가됩니다. 괄호를 사용하여 피연산자와 연산자를 = 2 * (5-6) * 3으로 그룹화하면 5-6이 먼저 계산되어 -1이 된 다음 2 * (-1) * 3이 계산되어 -6이됩니다. .
보시다시피 동일한 피연산자와 연산자를 사용하여 그룹화하는 방식에 따라 다른 결과가 가능합니다. 따라서 DAX 수식에서 DAX 연산자를 사용할 때 계산 순서가 어떻게 될지주의를 기울여야합니다.
Excel과 DAX의 차이점
DAX는 Excel 수식과 유사하지만 둘 사이에는 상당한 차이가 있습니다.
DAX는 기본 메모리 상주 계산 엔진으로 인해 Excel보다 강력합니다.
DAX는 Excel보다 더 많은 데이터 형식을 지원합니다.
DAX는 날짜 및 시간 유형에 대한 풍부한 지원을 포함하여 관계형 데이터베이스 인 데이터 모델의 추가 고급 기능을 제공합니다.
경우에 따라 계산 결과 또는 DAX의 함수 동작이 Excel과 동일하지 않을 수 있습니다. 이것은 다음의 차이점 때문입니다-
- 데이터 유형 캐스팅
- 데이터 유형
데이터 유형 캐스팅의 차이
DAX에서 표현식 = value1 연산자 value2가있는 경우 두 피연산자 value1 및 value2는 동일한 데이터 유형이어야합니다. 데이터 유형이 다른 경우 DAX는 먼저이를 암시 적으로 공통 데이터 유형으로 변환합니다. 자세한 내용은 DAX 구문 장을 참조하십시오.
예를 들어, = [Amount] * 0.08과 같은 수식에서 생성 된 숫자와 정수와 같이 서로 다른 데이터 유형의 두 피연산자를 비교해야합니다. 첫 번째 숫자는 소수 자릿수가 많은 10 진수 일 수 있지만 두 번째 숫자는 정수입니다. 그런 다음 DAX는 다음과 같이 처리합니다.
먼저 DAX는 두 종류의 숫자를 모두 저장할 수있는 가장 큰 숫자 형식을 사용하여 두 피연산자를 실수로 변환합니다.
다음으로 DAX는 두 실수를 비교합니다.
반대로 Excel은 먼저 공통 데이터 형식으로 강제 변환하지 않고 서로 다른 데이터 형식의 값을 비교하려고합니다. 따라서 동일한 비교 식에 대해 DAX와 Excel에서 다른 결과를 찾을 수 있습니다.
데이터 유형의 차이
DAX 및 Excel의 연산자 우선 순위는 동일합니다. 그러나 Excel에서 지원하는 연산자 백분율 (%) 및 데이터 범위는 DAX에서 지원되지 않습니다. 또한 DAX는 테이블을 데이터 형식으로 지원하지만 Excel에서는 지원하지 않습니다.
또한 Excel 수식에서 단일 셀, 배열 또는 셀 범위를 참조 할 수 있습니다. DAX 수식에서는 이러한 수식을 참조 할 수 없습니다. 데이터에 대한 DAX 수식 참조는 테이블, 열, 계산 된 필드 및 계산 된 열을 기준으로해야합니다.
Excel에서 수식을 복사하여 DAX에 붙여 넣는 경우 DAX 구문이 Excel 수식 구문과 다르므로 DAX 수식의 정확성을 확인하십시오. 또한 함수의 이름이 DAX와 Excel에서 동일하더라도 매개 변수가 다를 수 있으며 함수의 결과도 다를 수 있습니다.
이후 장에서이 모든 것에 대해 자세히 알아볼 것입니다.