Excel DAX-텍스트 및 날짜 작업
DAX는 텍스트 작업, 날짜 및 시간 값 추출 및 구성 또는 조건에 따라 값 생성과 관련된 시나리오에서 사용할 수 있습니다. DAX로 다음을 수행 할 수 있습니다.
- 연결을 통해 테이블에 키 열을 만듭니다.
- 텍스트 날짜에서 추출한 날짜 부분을 기반으로 날짜를 작성합니다.
- 사용자 지정 날짜 형식을 정의합니다.
- 수식을 사용하여 데이터 유형을 변경합니다.
- 실수를 정수로 변환합니다.
- 실수, 정수 또는 날짜를 문자열로 변환합니다.
- 문자열을 실수 나 날짜로 변환합니다.
연결을 통해 키 열 만들기
PowerPivot의 데이터 모델은 단일 키 열만 허용합니다. 외부 데이터 소스에서 찾을 수있는 복합 키는 지원하지 않습니다. 따라서 데이터 소스의 테이블에 복합 키가있는 경우 데이터 모델의 테이블에 대한 단일 키 열로 결합해야합니다.
DAX 함수 CONCATENATE를 사용하여 데이터 모델의 테이블에서 두 열을 단일 열로 결합 할 수 있습니다. DAX 함수 CONCATENATE는 두 개의 텍스트 문자열을 하나의 텍스트 문자열로 결합합니다. 결합 된 항목은 텍스트 또는 해당 항목의 조합으로 표시되는 텍스트, 숫자 또는 부울 값일 수 있습니다. 열에 적절한 값이 포함 된 경우 열 참조를 사용할 수도 있습니다.
= CONCATENATE ([Column1], [Column2])
DAX CONCATENATE 함수는 두 개의 인수 만 허용합니다. 인수가 텍스트 데이터 유형이 아닌 경우 텍스트로 변환됩니다. DAX CONCATENATE 함수는 연결된 문자열을 반환합니다.
텍스트 날짜에서 추출 된 날짜 부분을 기반으로하는 날짜
Power Pivot의 데이터 모델은 날짜 및 시간 값에 대한 데이터 형식 datetime을 지원합니다. 날짜 및 / 또는 시간 값에 대해 작동하는 DAX 함수에는 인수에 대한 datetime 데이터 유형이 필요합니다.
데이터 원본에 다른 형식의 날짜가 포함 된 경우 먼저 DAX 수식을 사용하여 날짜 부분을 추출하고 이러한 부분을 결합하여 유효한 DAX datetime 데이터 형식을 구성해야합니다.
다음 DAX 함수를 사용하여 날짜를 추출하고 작성할 수 있습니다.
DATE − 지정된 날짜를 datetime 형식으로 반환합니다.
DATEVALUE − 텍스트 형식의 날짜를 datetime 형식의 날짜로 변환합니다.
TIMEVALUE − 텍스트 형식의 시간을 날짜 / 시간 형식의 시간으로 변환합니다.
사용자 지정 날짜 형식 정의
데이터 소스의 날짜가 표준 형식으로 표시되지 않는다고 가정합니다. 값이 올바르게 처리되도록 사용자 지정 날짜 형식을 정의 할 수 있습니다. DAX FORMAT 기능을 사용하면 지정된 형식에 따라 값을 텍스트로 변환 할 수 있습니다.
FORMAT (<value>, <format_string>)
FORMAT 함수는 format_string에 정의 된대로 형식이 지정된 값이 포함 된 문자열을 반환합니다.
미리 정의 된 날짜 및 시간 형식을 사용하거나 FORMAT 함수의 인수 format_string에 대해 사용자 정의 날짜 및 시간 형식을 만들 수 있습니다.
다음은 미리 정의 된 날짜 및 시간 형식 이름입니다. 이러한 사전 정의 된 문자열 이외의 문자열을 사용하는 경우 사용자 지정 날짜 및 시간 형식으로 해석됩니다.
S. 아니. | 형식 _ 문자열 및 설명 |
---|---|
1 | "General Date" 날짜 및 / 또는 시간을 표시합니다. 예 : 2/10/2015 10:10:32 AM |
2 | "Long Date" or "Medium Date" 자세한 날짜 형식에 따라 날짜를 표시합니다. 예 : 2016 년 3 월 7 일 수요일 |
삼 | "Short Date" 간단한 날짜 형식을 사용하여 날짜를 표시합니다. 예 : 2/03/2016 |
4 | "Long Time" 긴 시간 형식을 사용하여 시간을 표시합니다. 일반적으로 시간, 분 및 초를 포함합니다. 예 : 오전 10:10:32 |
5 | "Medium Time" 12 시간 형식으로 시간을 표시합니다. 예 : 09:30 PM |
6 | "Short Time" 시간을 24 시간 형식으로 표시합니다. 예 : 14:15 |
또는 다음 표의 문자를 사용하여 사용자 정의 날짜 / 시간 형식을 만들 수 있습니다.
S. 아니. | 캐릭터 및 설명 |
---|---|
1 | : 시간 구분자. 시간 구분자. 시간 값이 형식화 될 때시, 분 및 초를 구분합니다. |
2 | / 날짜 구분자. 날짜 값이 형식화 될 때 일, 월 및 연도를 구분합니다. |
삼 | % 다음 문자를 후행 문자에 관계없이 단일 문자 형식으로 읽어야 함을 나타내는 데 사용됩니다. 단일 문자 형식이 사용자 정의 형식으로 읽혀 짐을 나타내는데도 사용됩니다. |
다음은 다양한 캐릭터의 세부 사항입니다.
%d − 앞에 0이없는 숫자로 요일을 표시합니다 (예 : 5).
%dd − 앞에 0이있는 숫자로 요일을 표시합니다 (예 : 05).
%ddd − 요일을 약어로 표시합니다 (예 : Sun).
%dddd − 요일을 전체 이름으로 표시합니다 (예 : 일요일).
%M − 앞에 0이없는 숫자로 월을 표시합니다 (예 : 1 월은 1로 표시됨).
%MM − 월을 앞에 0이있는 숫자로 표시합니다 (예 : 1 월은 01로 표시됨).
%MMM − 월을 약어로 표시합니다 (예 : 1 월은 1 월로 표시됨).
%MMMM − 월을 전체 월 이름으로 표시합니다 (예 : January).
%gg − 기간 / 시대 문자열 (예 : AD)을 표시합니다.
%h− 12 시간 시계를 사용하여 앞에 0이없는 숫자로 시간을 표시합니다 (예 : 1:15:15 PM). 사용하다%h 이것이 사용자 정의 숫자 형식의 유일한 문자 인 경우.
%hh − 12 시간 시계를 사용하여 앞에 0이 붙은 숫자로 시간을 표시합니다 (예 : 01:15:15 PM).
%H− 24 시간제를 사용하여 앞에 0이없는 숫자로 시간을 표시합니다 (예 : 13:15:15, 1:15:15). 사용자 정의 숫자 형식의 유일한 문자 인 경우 % H를 사용하십시오.
%HH − 24 시간제를 사용하여 앞에 0이 붙은 숫자로 시간을 표시합니다 (예 : 13:15:15, 1:15:15).
%m− 앞에 0이없는 숫자로 분을 표시합니다 (예 : 2 : 1 : 15). 이것이 사용자 정의 숫자 형식의 유일한 문자 인 경우 % m을 사용하십시오.
%mm − 앞에 0이 붙은 숫자로 분을 표시합니다 (예 : 2:01:15).
%s− 앞에 0이없는 숫자로 초를 표시합니다 (예 : 2 : 15 : 5). 이것이 사용자 정의 숫자 형식의 유일한 문자 인 경우 % s를 사용하십시오.
%ss − 초를 앞에 0이있는 숫자로 표시합니다 (예 : 2:15:05).
%f− 초 단위를 표시합니다. 예를 들어ff 100 분의 1 초를 표시하는 반면 ffff1 만분의 1 초를 표시합니다. 7 개까지 사용할 수 있습니다f사용자 정의 형식의 기호. 사용하다%f 이것이 사용자 정의 숫자 형식의 유일한 문자 인 경우.
%t− 12 시간 시계를 사용하고 정오 이전의 시간에 대문자 A를 표시합니다. 정오와 오후 11:59 사이의 모든 시간에 대문자 P를 표시합니다. 이것이 사용자 정의 숫자 형식의 유일한 문자 인 경우 % t를 사용합니다.
%tt− 12 시간 시계를 사용하는 로케일의 경우 정오 이전의 시간과 함께 대문자 AM을 표시합니다. 정오와 오후 11:59 사이의 시간에 대문자 PM을 표시합니다. 24 시간제를 사용하는 로케일의 경우 아무 것도 표시하지 않습니다.
%y− 앞에 0없이 연도 번호 (0-9)를 표시합니다. 사용하다%y 이것이 사용자 정의 숫자 형식의 유일한 문자 인 경우.
%yy − 해당되는 경우 앞에 0이있는 두 자리 숫자 형식으로 연도를 표시합니다.
%yyy − 연도를 4 자리 숫자 형식으로 표시합니다.
%yyyy − 연도를 4 자리 숫자 형식으로 표시합니다.
%z− 앞에 0이없는 시간대 오프셋을 표시합니다 (예 : -8). 사용하다%z 이것이 사용자 정의 숫자 형식의 유일한 문자 인 경우.
%zz− 표시합니다. 앞에 0이있는 시간대 오프셋 (예 : -08)
%zzz − 전체 시간대 오프셋을 표시합니다 (예 : -08 : 00).
보시다시피 형식화 문자열은 대소 문자를 구분합니다. 다른 대소 문자를 사용하여 다른 형식을 얻을 수 있습니다.
DAX 수식 출력의 데이터 유형 변경
DAX 수식에서 출력의 데이터 유형은 소스 열에 의해 결정되며 결과의 데이터 유형을 명시 적으로 지정할 수 없습니다. 이는 최적의 데이터 형식이 Power Pivot에 의해 결정되기 때문입니다. 그러나 Power Pivot에서 수행 한 암시 적 데이터 형식 변환을 사용하여 출력 데이터 형식을 조작 할 수 있습니다. 그렇지 않으면 특정 DAX 함수를 사용하여 출력 데이터 유형을 변환 할 수 있습니다.
Using the Implicit Data Type Conversions
날짜 또는 숫자 문자열을 숫자로 변환하려면 1.0을 곱하십시오. 예 : = (TODAY () + 5) * 1.0. 이 수식은 현재 날짜에 5 일을 더한 값을 계산하고 결과를 정수 값으로 변환합니다.
날짜, 숫자 또는 통화 값을 문자열로 변환하려면 값을 빈 문자열로 연결하십시오. 예 : = Today () &“”
Using the DAX Functions for Data Type Conversions
다음을 위해 DAX 함수를 사용할 수 있습니다.
- 실수를 정수로 변환.
- 실수, 정수 또는 날짜를 문자열로 변환.
- 문자열을 실수 또는 날짜로 변환.
다음 섹션에서 이에 대해 학습합니다.
실수를 정수로 변환
실수를 정수로 변환하기 위해 다음 DAX 함수를 사용할 수 있습니다.
ROUND (<number>, <num_digits>) − 숫자를 지정된 자릿수로 반올림하고 10 진수를 반환합니다.
CEILING (<number>, <significance>) − 가장 가까운 정수 또는 가장 가까운 유의 배수로 숫자를 반올림하고 10 진수를 반환합니다.
FLOOR (<number>, <significance>) − 가장 가까운 유의 배수로 숫자를 0으로 내림하고 10 진수를 반환합니다.
실수, 정수 또는 날짜를 문자열로 변환
실수, 정수 또는 날짜를 문자열로 변환하기 위해 다음 DAX 함수를 사용할 수 있습니다.
FIXED (<number>, [<decimals>], [<no_comma>])− 숫자를 반올림하고 결과를 텍스트로 반환합니다. 소수점 오른쪽의 자릿수는 2 또는 지정된 소수점 이하 자릿수입니다. 결과는 쉼표로 표시되거나 선택적으로 쉼표없이 표시됩니다.
FORMAT (<value>, <format_string>) − 지정된 형식에 따라 값을 텍스트로 변환합니다.
날짜를 문자열로 변환하기 위해 Format 함수를 사용하는 방법에 대해 이미 배웠습니다.
문자열을 실수 또는 날짜로 변환
문자열을 실수 나 날짜로 변환하기 위해 다음 DAX 함수를 사용할 수 있습니다.
VALUE (<text>) − 숫자를 나타내는 텍스트 문자열을 숫자로 변환합니다.
DATEVALUE (date_text) − 텍스트 형식의 날짜를 datetime 형식의 날짜로 변환합니다.
TIMEVALUE (time_text) − 텍스트 형식의 시간을 날짜 / 시간 형식의 시간으로 변환합니다.