다음을 통해 공유


형식 및 형식 변환

파워 쿼리 M은 형식을 사용하여 값을 분류하여 보다 구조화된 데이터 집합을 갖습니다. 이 문서에서는 가장 일반적으로 사용되는 M 형식과 한 형식을 다른 형식으로 변환하는 방법을 설명합니다.

일반적으로 사용되는 형식

데이터 형식은 특정 데이터의 구조를 명확히 하는 데 사용되는 모든 형식을 나타냅니다. 가장 일반적으로 사용되는 데이터 형식은 기본 형식입니다. 이러한 형식은 다음과 같습니다.

  • type any은 모든 값을 분류합니다.
  • type null- null 값을 분류합니다.
  • type logical- true 및 false 값을 분류합니다.
  • type number은 숫자 값을 분류합니다.
  • type time- 시간 값을 분류합니다.
  • type date은 날짜 값을 분류합니다.
  • type datetime은(는) 날짜/시간 값을 분류합니다.
  • datetimezone 값을 분류하는 코드 type datetimezone.
  • type duration- 기간 값을 분류합니다.
  • type text- 텍스트 값을 분류합니다.
  • type binary은 이진 값을 분류합니다.
  • type type, 형식 값을 분류함.
  • type list은 목록 값을 분류합니다.
  • 레코드 값을 분류하는 type record.
  • type table는 테이블 값을 분류합니다.
  • 함수 값을 분류하는 type function입니다.
  • null을 제외한 모든 값을 분류하는 type anynonnull.
  • 값을 분류하지 않는 type none.

이러한 유형에 대한 자세한 내용은 유형.

이러한 일반적인 데이터 형식 외에도 *.Type형식을 사용하는 데이터 형식 집합도 있습니다. 이 형식의 가장 일반적으로 사용되는 데이터 형식은 다음과 같습니다.

  • Byte.Type은 8비트 숫자 값을 분류합니다.
  • Int8.Type은 8비트 숫자 값을 분류합니다.
  • 16비트 숫자 값을 분류하는 것은 Int16.Type입니다.
  • Int32.Type- 32비트 숫자 값을 분류합니다.
  • 64비트 숫자 값을 분류하는 Int64.Type.
  • Single.Type- 9자리 부동 숫자 값을 분류합니다.
  • Double.Type- 17자리 부동 숫자 값을 분류합니다.
  • Decimal.Type- 15자리 부동 숫자 값을 분류합니다.
  • Currency.Type- "." 구분 기호의 오른쪽에 네 자리가 있는 19자리 숫자 값을 분류합니다.
  • Percentage.Type- 15자리 숫자 값을 마스크로 분류하여 값의 서식을 백분율로 지정합니다.
  • Guid.Type은 GUID 텍스트 값을 분류합니다.

기본 형식도 *.Type 형식으로 작성할 수 있습니다. 따라서 numberNumber.Type, recordRecord.Type등으로 작성할 수 있습니다.

이러한 형식을 사용하는 경우, 다른 모든 M 코드와 같이 이러한 형식은 대/소문자를 구분합니다.

다음 표에는 이러한 각 형식에 대한 자세한 정보가 포함되어 있습니다.

데이터 형식 설명
any any 데이터 형식은 값에 명시적 데이터 형식 정의가 없는 경우 지정된 상태입니다. any 형식은 모든 값을 분류하는 데이터 형식입니다.
binary binary 데이터 형식을 사용하여 다른 모든 데이터를 이진 형식으로 나타낼 수 있습니다.
type 다른 값을 분류하는 값입니다. 더 많은 정보는 유형에서 확인하세요.
null 값이 없거나 확정되지 않거나 알 수 없는 상태의 값을 나타냅니다.
anynonnull null을 허용하지 않는 모든 형식을 나타냅니다.
date 날짜(시간 부분 없음)만 나타냅니다.
time 시간(날짜 부분 없음)을 나타냅니다.
datetime 날짜 및 시간 값을 모두 나타냅니다. 날짜의 시간 부분은 1/300초(3.33ms)의 배수에 해당하는 분수로 저장됩니다. 1900년에서 9999년 사이의 날짜가 지원됩니다.
datetimezone 표준 시간대 오프셋이 있는 UTC 날짜 및 시간을 나타냅니다.
duration 시간 길이를 나타냅니다. 이 형식은 올바른 결과가 있는 datetime 필드에서 추가하거나 뺄 수 있습니다. 자세한 내용은 지속 시간으로 이동하십시오.
text 유니코드 문자 데이터 문자열입니다. 텍스트 형식으로 표시되는 문자열, 숫자 또는 날짜일 수 있습니다. 최대 문자열 길이는 268,435,456개의 유니코드 문자(각 유니코드 문자는 2바이트) 또는 536,870,912바이트입니다.
logical 'true 또는 false중 하나의 부울 값입니다.'
list 열거 시 값 시퀀스를 생성하는 값입니다. 자세한 내용은 목록 형식목록 값을 참조하세요.
record 순서가 지정된 필드 시퀀스입니다. 각 필드에는 필드 이름과 필드 값이 포함됩니다. 자세한 내용은 레코드 형식 및 레코드 값 를 참조하십시오.
table 열로 구분된 정렬된 행의 시퀀스입니다. 자세한 내용은 표 형식표 값.
function 인수 집합을 단일 값에 매핑하는 값입니다. 자세한 내용은 함수함수 형식으로 이동하십시오.
number 숫자 및 산술 연산에 사용되는 숫자를 나타냅니다. 자세한 내용은 번호.
Decimal.Type 64비트(8비트) 부동 소수점 숫자를 나타냅니다. 가장 일반적인 숫자 형식이며 일반적으로 생각하는 숫자에 해당합니다. 소수 자릿수 값을 사용하여 숫자를 처리하도록 설계되었지만 정수도 처리합니다. Decimal.Type –1.79E +308부터 –2.23E –308, 0까지의 음수 값과 2.23E –308에서 1.79E + 308까지의 양수 값을 처리할 수 있습니다. 예를 들어 34, 34.01 및 34.000367063과 같은 숫자는 유효한 10진수입니다. Decimal.Type에서 나타낼 수 있는 최대 정밀도는 15자리입니다. 소수 구분 기호는 숫자의 아무 곳이나 발생할 수 있습니다. Decimal.Type Excel에서 숫자를 저장하는 방법에 해당합니다. 이진 부동 소수점 숫자는 100개의% 정확도로 지원되는 범위 내의 모든 숫자를 나타낼 수 없습니다. 따라서 특정 소수 자릿수를 나타낼 때 정밀도의 사소한 차이가 발생할 수 있습니다.
Currency.Type 이 데이터 형식에는 소수 구분 기호에 대한 고정 위치가 있습니다. 소수 구분 기호는 항상 오른쪽에 4자리를 가지며 19자리의 중요도를 허용합니다. 표시할 수 있는 가장 큰 값은 922,337,203,685,477.5807(양수 또는 음수)입니다. Decimal.Type달리 Currency.Type 항상 정확하므로 부동 소수점 표기법의 부정확성으로 인해 오류가 발생할 수 있는 경우에 유용합니다.
Percentage.Type Decimal.Type와 기본적으로 동일하지만, 값을 백분율로 표시하는 마스크를 가지고 있습니다.
Int8.Type 부호 있는 8비트(1-바이트) 정수 값을 나타냅니다. 정수이므로 소수점 오른쪽에 숫자가 없습니다. 3자리 숫자를 허용합니다. -128에서 127 사이의 양수 또는 음수입니다. Currency.Type와 마찬가지로, Int8.Type은 반올림을 제어해야 할 때 유용할 수 있습니다.
Int16.Type 부호 있는 16비트(2 바이트) 정수 값을 나타냅니다. 정수이므로 소수점 오른쪽에 숫자가 없습니다. 6자리 숫자를 허용합니다. -32,768(–2^15)에서 32,767(2^15-1) 사이의 양수 또는 음수입니다. Currency.Type와 마찬가지로, Int16.Type은 반올림을 제어해야 할 때 유용할 수 있습니다.
Int32.Type 부호 있는 32비트(4 바이트) 정수 값을 나타냅니다. 정수이므로 소수점 오른쪽에 숫자가 없습니다. 10자리 숫자를 허용합니다. -2,147,483,648(–2^31)에서 2,147,483,647(2^31-1) 사이의 양수 또는 음수입니다. Currency.Type와 마찬가지로, Int32.Type은 반올림을 제어해야 할 때 유용할 수 있습니다.
Int64.Type 부호 있는 64비트(8 바이트) 정수 값을 나타냅니다. 정수이므로 소수점 오른쪽에 숫자가 없습니다. 19자리 숫자를 허용합니다. -9,223,372,036,854,775,808(–2^63)과 9,223,372,036,854,775,807(2^63-1) 사이의 양수 또는 음수입니다. 다양한 숫자 데이터 형식의 가능한 가장 큰 정밀도를 나타낼 수 있습니다. Currency.Type와 마찬가지로, Int64.Type은 반올림을 제어해야 할 때 유용할 수 있습니다.
Byte.Type 부호 없는 8비트(1 바이트) 정수 값을 나타냅니다. 부호 없는 정수이므로 소수점 오른쪽에 숫자가 없으며 양수 값만 포함할 수 있습니다. 3자리 숫자를 허용합니다. 0에서 255 사이의 양수입니다.
Single.Type 단정밀도 부동 소수점 숫자를 나타냅니다. 대략적인 범위는 –3.99 X 1038에서 3.99 X 1038까지이며, 약 9자리의 정밀도를 지원합니다. 양수 및 음수 무한대 및 NaN(숫자가 아님)을 나타낼 수도 있습니다.
Double.Type 배정밀도 부동 소수점 숫자를 나타냅니다. 대략적인 범위는 –1.7976931348623158 X 10307부터 1.7976931348623158 X 10307까지이며, 약 17자리 정도의 자릿수 정밀도를 지원합니다. 양수 및 음수 무한대 및 NaN(숫자가 아님)을 나타낼 수도 있습니다.
Guid.Type <>86진수 값의 폼 팩터를 사용하여 326진수 값으로 구성된 128비트 텍스트 값을 나타내며,<>46진수 값<>46진수 값<16진수 값><126진수 값>GUID 값을 구성합니다.
none 값을 분류하지 않는 데이터 형식입니다.

일반적으로 사용되는 다른 *.Type 값은 열거형뿐입니다. 자세한 내용을 보려면 열거형로 이동하세요.

형식 변환

파워 쿼리 M 수식 언어에는 형식 간에 변환할 수식이 있습니다. 다음은 M의 변환 수식 요약입니다.

number

형식 변환 설명
숫자로 Number.FromText(텍스트를 텍스트로) 텍스트 값에서 숫자 값을 반환합니다.
텍스트로 'Number.ToText' (숫자)입니다. 숫자 값에서 텍스트 값을 반환합니다.
숫자로 Number.From(임의의 값) 값에서 숫자 값을 반환합니다.
숫자로 Byte.From(임의의 값) 지정된 값에서 8비트 정수 값을 반환합니다.
숫자로 Int8.From(임의의 값) 지정된 값에서 8비트 정수 값을 반환합니다.
숫자로 Int16.From(임의의 값) 지정된 값에서 16비트 정수 값을 반환합니다.
숫자로 Int32.From(임의의 값) 지정된 값에서 32비트 정수 값을 반환합니다.
숫자로 Int64.From(임의의 값) 지정된 값에서 64비트 정수 값을 반환합니다.
숫자로 Single.From(임의의 값) 지정된 값에서 단일 숫자 값을 반환합니다.
숫자로 Double.From(임의의 값) 지정된 값에서 Double 숫자 값을 반환합니다.
숫자로 Decimal.From(임의의 값) 지정된 값에서 10진수 값을 반환합니다.
숫자로 Currency.From(임의의 값) 지정된 값에서 통화 번호 값을 반환합니다.
숫자로 Percentage.From(임의의 값) 지정된 값에서 Percentage 숫자 값을 반환합니다.

Text

형식 변환 설명
Text.From(임의의 값)을 텍스트로 숫자, 날짜, 시간, datetime, datetimezone, 논리, 기간 또는 이진 값의 텍스트 표현을 반환합니다.
Guid.From(텍스트 값으로) as text 지정된 텍스트의 GUID 표현을 반환합니다.

논리

형식 변환 설명
Logical.FromText를 텍스트로서 논리적으로 표시 텍스트 값에서 true 또는 false의 논리 값을 반환합니다.
텍스트로서의 Logical.ToText(논리적) 논리 값에서 텍스트 값을 반환합니다.
논리로 Logical.From(임의의 값) 값에서 논리 값을 반환합니다.

Date, Time, DateTime 및 DateTimeZone

형식 변환 설명
. FromText(text as text) as date, time, datetime 또는 datetimezone 날짜 형식 및 문화권 값 집합에서 날짜, 시간, datetime 또는 datetimezone 값을 반환합니다.
. ToText(date, time, dateTime 또는 dateTimeZone as date, time, datetime 또는 datetimezone) as text 날짜, 시간, datetime 또는 datetimezone 값에서 텍스트 값을 반환합니다.
. From(value as any) 값에서 날짜, 시간, datetime 또는 datetimezone 값을 반환합니다.
. ToRecord(date, time, dateTime 또는 dateTimeZone을 날짜, 시간, datetime 또는 datetimezone으로) 날짜, 시간, datetime 또는 datetimezone 값의 일부를 포함하는 레코드를 반환합니다.