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) − 텍스트 형식의 시간을 날짜 / 시간 형식의 시간으로 변환합니다.