요약 : 즉, 숫자가 음수이든 양수이든 상관없이 항상 0 이상의 값을 반환해 주는 함수입니다. 데이터 분석에서 값의 크기만 필요할 때 유용하게 사용됩니다.
• DIVIDE: 나누기 연산 (0으로 나눌 때 오류 방지)
1.
함수 정의 : DIVIDE 함수는 두 숫자를 나눌 때 사용하는 함수로, 특히 나눗셈에서 "0으로 나누기" 오류를 방지할 수 있는 장점이 있습니다.
2.
기본 구문: DIVIDE(<Numerator>, <Denominator>, [AlternativeResult])
3.
매개 변수 Numerator: 나눠지는 값 (분자) Denominator: 나누는 값 (분모) AlternativeResult (선택 사항): 분모가 0일 때 반환할 값. 이 값을 설정하지 않으면 BLANK()가 반환됩니다.
4.
DIVIDE 함수의 장점: / 연산자를 사용하여 나눗셈을 할 수도 있지만, 그 경우 분모가 0이 되면 오류가 발생합니다. 반면 DIVIDE 함수는 분모가 0이더라도 안전하게 처리할 수 있습니다.
5.
예시 코드: (1) 기본적인 나눗셈: DIVIDE(10, 2) 이 결과는 5입니다. (2) 분모가 0인 경우: DIVIDE(10, 0, 0) 이 경우 결과는 0이 됩니다. AlternativeResult로 0을 설정했기 때문입니다. 만약 이 값을 설정하지 않았다면 BLANK()가 반환됩니다.
6.
요약 DIVIDE 함수는 나눗셈을 보다 안전하게 수행하도록 도와주는 함수입니다
• INT: 정수 반환
1.
함수 정의 : INT 함수는 숫자 값을 정수로 변환하는 함수입니다. 소수점 이하의 숫자를 제거하고 가장 가까운 아래쪽의 정수로 변환하는 역할을 합니다. 소수점이 있는 숫자를 입력하면 그 숫자를 내림하여 정수로 만들어주는 함수입니다.
2.
기본 구문 INT(<number>)
3.
매개변수 number: 정수 부분만 가져올 숫자를 입력합니다. 이 숫자는 소수점이 포함된 숫자이거나 계산식이 될 수 있습니다.
4.
예시 코드: INT(3.8) 는 3 을 반환 합니다. INT(5.2) 는 5 를 반환 합니다. INT(-4.7) 는 -5 를 반환 합니다.
5.
요약 : 이처럼 INT 함수는 소수점을 없애고 정수로 변환할 때 유용하게 사용할 수 있습니다.
•ROUND : 반올림 / ROUNDDOWN: 내림 / ROUNDUP : 올림
• ROUND: 반올림
1.
함수 정의 : ROUND 함수는 숫자를 특정 소수점 자리까지 반올림하는 함수입니다. Excel의 ROUND 함수와 비슷한 방식으로 작동합니다. 주로 숫자 데이터를 처리할 때 소수점 자릿수를 조정하거나 깔끔한 숫자 형태로 표현하고자 할 때 유용합니다.
2.
기본 구문 : ROUND(<숫자>, <소수점 자리수>)
3.
매개 변수 <숫자>: 반올림할 숫자 <소수점 자리수>: 반올림할 자릿수 (0이면 정수 부분만 남기고 반올림)
4.
예시 코드 : ROUND(3.14159, 2) 이 코드는 숫자 3.14159를 소수점 둘째 자리까지 반올림하여 3.14를 반환합니다. ROUND(123.456, 0) 이 코드는 소수점 없이 정수로 반올림하여 123을 반환합니다.
5.
요약 : ROUND 함수는 숫자를 원하는 자릿수까지 반올림해주는 함수로, 데이터를 처리하거나 시각화할 때 깔끔하게 보이도록 할 때 많이 사용됩니다.
• ROUNDDOWN: 내림
1.
함수 정의 : ROUNDDOWN 함수는 숫자를 지정한 소수점 자리까지 내림하는 함수입니다. 즉, 반올림하지 않고 항상 소수점 아래 값을 버립니다. 이 함수는 데이터에서 정밀한 값보다 더 큰 범위로 조정하고 싶을 때 유용합니다.
2.
기본 구문 : ROUNDDOWN(<숫자>, <소수점 자리수>)
3.
매개 변수 : <숫자>: 내림할 숫자 <소수점 자리수>: 내림할 소수점 자리수 (0이면 정수 부분만 남김)
4.
예시 코드 : (1 )ROUNDDOWN(3.14159, 2) 이 코드는 숫자 3.14159에서 소수점 둘째 자리까지만 남기고 내림하여 3.14를 반환합니다. (2) ROUNDDOWN(123.456, 0) 이 코드는 소수점 이하를 모두 버리고 123을 반환합니다.
5.
요약 : ROUNDDOWN 함수는 반올림 없이 항상 내림 처리하는 함수로, 소수점 이하를 없애거나 정수화하고 싶을 때 많이 사용됩니다.
• ROUNDUP: 올림
1.
함수 정의 : ROUNDUP 함수는 숫자를 지정한 소수점 자리까지 올림하는 함수입니다. 즉, 소수점 이하 값이 있으면 해당 자리를 무조건 올려서 처리합니다. 이를 통해 값의 크기를 항상 증가시키는 방식으로 처리합니다.
2.
기본 구문 : ROUNDUP(<숫자>, <소수점 자리수>)
3.
매개 변수 : <숫자>: 올림할 숫자 <소수점 자리수>: 올림할 소수점 자리수 (0이면 정수 부분만 남기고 올림)
4.
예시 코드 : (1) ROUNDUP(3.14159, 2) 이 코드는 숫자 3.14159를 소수점 둘째 자리까지 올림하여 3.15를 반환합니다. (2) ROUNDUP(123.456, 0) 이 코드는 소수점 이하를 버리고 무조건 올림하여 124를 반환합니다.
5.
요약 : ROUNDUP 함수는 소수점 이하 값을 무조건 올려주는 함수로, 반올림과 다르게 항상 상향 처리하고 싶을 때 사용됩니다.
• 차이점 요약 :
ROUND, ROUNDDOWN, ROUNDUP 함수는 숫자를 소수점 자리에서 반올림, 내림, 올림하는 함수들입니다. 각 함수의 동작 방식에 따라 숫자를 다루는 방법이 조금씩 다릅니다.
1.
ROUND 함수 • ROUND 함수는 숫자를 반올림합니다. • 예시 구문: (1) ROUND(123.456, 2) → 결과: 123.46 (소수점 둘째 자리에서 반올림) (2) ROUND(123.456, 0) → 결과: 123 (정수 자리에서 반올림)
2.
ROUNDDOWN 함수 • ROUNDDOWN 함수는 무조건 내림 처리합니다. 지정된 소수점 자리에서 해당 숫자를 버립니다. • 예시 구문: (1) ROUNDDOWN(123.456, 2) → 결과: 123.45 (소수점 둘째 자리에서 내림) (2) ROUNDDOWN(123.456, 0) → 결과: 123 (정수 자리에서 내림)
3.
ROUNDUP 함수 • ROUNDUP 함수는 무조건 올림 처리합니다. 지정된 소수점 자리에서 값을 올립니다. • 예시 구문 : (1) ROUNDUP(123.456, 2) → 결과: 123.46 (소수점 둘째 자리에서 올림) (2) ROUNDUP(123.456, 0) → 결과: 124 (정수 자리에서 올림)
4.
요약 • ROUND: 반올림(5 이상 올림, 4 이하 내림) • ROUNDDOWN: 무조건 내림 • ROUNDUP: 무조건 올림 이 세 가지 함수는 숫자를 다룰 때 원하는 방식으로 자릿수를 조정할 수 있어 매우 유용합니다.
• AVERAGE: 평균 계산 / AVERAGEA: 평균 계산 (텍스트는 0으로) / AVERAGEX: 식을 평가한 후 평균
DAX에서 사용하는 세 가지 평균 함수인 AVERAGE, AVERAGEA, AVERAGEX는 모두 평균을 계산하지만, 작동 방식과 처리하는 데이터의 유형에 따라 차이가 있습니다.
• AVERAGE 함수
1.
함수 정의 : 지정된 열에서 숫자 값들의 평균을 계산합니다.
2.
특징: 숫자가 아닌 값(예: 텍스트 또는 블랭크 값)은 무시됩니다.
3.
기본 구문 : AVERAGE([column])
4.
예시 코드: Product 테이블의 Amount 열에 있는 숫자 값들의 평균을 계산합니다.
AVERAGE(Table[Amount])를 사용하면 10, 20, 30의 평균을 계산합니다. 빈 값은 무시됩니다.
5. 결과 : (10 + 20 + 30) / 3 = 20
• AVERAGEA 함수
1.
함수 정의 : 숫자뿐만 아니라 다른 데이터 유형도 포함하여 평균을 계산합니다.
2.
특징 : 숫자, 텍스트, TRUE/FALSE 등의 값까지 포함하여 처리합니다. TRUE는 1로, FALSE는 0으로 계산합니다. 공란(빈셀)은 0으로 처리합니다. 텍스트 값은 0으로 처리합니다.
3.
기본 구문: AVERAGEA([column])
4.
예시 코드: Product 테이블의 Amount 열에 있는 숫자 값뿐만 아니라 텍스트와 TRUE/FALSE 값을 포함한 전체 평균을 계산합니다.
AVERAGEA(Table[Amount])를 사용하면
공란은 0으로 처리되고,
텍스트 **"None"**은 0으로 처리되며,
TRUE는 1, FALSE는 0으로 처리되어 평균을 계산합니다.
5.
결과 : (10 + 20 + 0 + 0 + 1 + 0) / 6 = 5.17
• AVERAGEX 함수
1.
함수 정의 : 테이블을 기반으로 식을 평가한 후 그 결과에 대한 평균을 계산합니다.
2.
특징 : 테이블을 대상으로 각 행마다 계산을 수행한 후 그 결과 값들의 평균을 구합니다. 사용자가 직접 계산식을 작성할 수 있습니다.
3.
기본 구문: AVERAGEX(Table, <expression>)
4.
예시 코드: Product 테이블에서 각 행마다 Amount와 Quantity를 곱한 값을 계산한 후 그 값들의 평균을 계산합니다.
AVERAGEX(Table, Table[Amount] * Table[Quantity])는
각 행에서 Amount와 Quantity를 곱한 값을 계산한 후 그 값들의 평균을 구합니다. 각 행 계산: A: 10 * 2 = 20 B: 20 * 3 = 60 C: 30 * 4 = 120
5.
결과 : (20 + 60 + 120) / 3 = 66.67
• 차이점 요약 :
1.
AVERAGE는 열의 숫자 값만을 대상으로 평균을 계산합니다.
2.
AVERAGEA는 숫자뿐만 아니라 TRUE/FALSE 및 텍스트 값도 고려하여 평균을 계산합니다.
3.
AVERAGEX는 사용자가 지정한 계산식을 각 행에 적용하여 그 결과의 평균을 계산합니다.
4.
이러한 차이점으로 인해 상황에 맞게 적절한 함수를 선택하여 사용할 수 있습니다.
• COUNT: 숫자 셀 개수 / COUNTA: 비어 있지 않은 셀 개수 / COUNTAX: 계산된 비어 있지 않은 셀 개수 / COUNTX: 식을 평가한 후 개수
DAX 함수 중 COUNT, COUNTA, COUNTAX, COUNTX 함수는 모두 데이터를 세는 데 사용되지만, 그 기능과 적용 방식에 약간씩 차이가 있습니다.
• COUNT 함수
1.
함수 정의 : 지정된 열에서 숫자 값이 있는 행의 개수를 셉니다. 텍스트나 빈 값은 무시됩니다.
2.
특징 : 숫자 값만 세기 때문에 텍스트나 빈 셀은 무시합니다.
3.
기본 구문: COUNT([column])
4.
예시 코드 : 숫자 열에서 값이 있는 행의 개수를 알고 싶을 때사용됩니다. COUNT([SalesAmount])
• COUNTA 함수
1.
함수 정의 : 지정된 열에서 모든 비어있지 않은 값을 셉니다. 즉, 숫자, 텍스트, 논리 값(True/False) 등 값이 있는 모든 셀이 대상입니다.
2.
특징 : 숫자뿐만 아니라 텍스트나 논리 값도 포함해서, 비어있지 않은 셀의 개수를 알고 싶을 때 사용됩니다.
3.
기본 구문 : COUNTA([column])
4.
예시 코드: COUNTA([SalesRep]) 숫자가 아닌 값도 포함해서 셀을 셉니다.
• COUNTAX 함수
1.
함수 정의 : 주어진 테이블 또는 열에 대한 계산식을 기반으로 비어 있지 않은 값을 셉니다. 이 함수는 테이블에서 각 행에 대해 식을 평가하고, 결과가 비어 있지 않은 행만 셉니다.
2.
특징 : 각 행에서 지정된 식을 먼저 계산한 후, 그 결과 값이 있는지 여부에 따라 행을 셉니다. (숫자, 텍스트 등 모두 포함 가능)