형식 및 형식 변환
파워 쿼리 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
형식으로 작성할 수 있습니다. 따라서 number
Number.Type
, record
Record.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 값의 일부를 포함하는 레코드를 반환합니다. |