Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Power Query M usa tipos para classificar valores para ter um conjunto de dados mais estruturado. Este artigo descreve os tipos M mais usados e como converter um tipo em outro tipo.
Tipos comumente usados
Tipos de dados referem-se a qualquer tipo usado para esclarecer a estrutura de dados específicos. Os tipos de dados mais usados são tipos primitivos. Esses tipos incluem:
-
type any, que classifica qualquer valor. -
type null, que classifica o valor nulo. -
type logical, que classifica os valores true e false. -
type number, que classifica valores numéricos. -
type time, que classifica valores de tempo. -
type date, que classifica valores de data. -
type datetime, que classifica valores de datetime. -
type datetimezone, que classifica valores de datetimezone. -
type duration, que classifica valores de duração. -
type text, que classifica valores de texto. -
type binary, que classifica valores binários. -
type type, que classifica valores de tipo. -
type list, que classifica valores de lista. -
type record, que classifica valores de registro. -
type table, que classifica valores de tabela. -
type function, que classifica valores de função. -
type anynonnull, que classifica todos os valores, exceto por nulo. -
type none, que classifica nenhum valor.
Para obter mais informações sobre esses tipos, acesse Tipos.
Além desses tipos de dados comuns, também há um conjunto de tipos de dados usando o formato *.Type. Os tipos de dados mais usados desse formato são:
-
Byte.Type, que classifica um valor numérico de 8 bits. -
Int8.Type, que classifica um valor numérico de 8 bits. -
Int16.Type, que classifica um valor numérico de 16 bits. -
Int32.Type, que classifica um valor numérico de 32 bits. -
Int64.Type, que classifica um valor numérico de 64 bits. -
Single.Type, que classifica um valor de número flutuante de 9 dígitos. -
Double.Type, que classifica um valor de número flutuante de 17 dígitos. -
Decimal.Type, que classifica um valor de número flutuante de 15 dígitos. -
Currency.Type, que classifica um valor numérico de 19 dígitos com quatro dígitos à direita do separador ".". -
Percentage.Type, que classifica um valor numérico de 15 dígitos com uma máscara para formatar o valor como uma porcentagem. -
Guid.Type, que classifica um valor de texto GUID.
Os tipos primitivos também podem ser gravados no *.Type formato. Portanto, você pode escrever number como Number.Type, record como Record.Type, e assim por diante.
Ao usar qualquer um desses tipos, lembre-se de que, como todos os códigos M, esses tipos diferenciam maiúsculas de minúsculas.
A tabela a seguir contém mais informações sobre cada um desses tipos.
| Tipo de dados | Descrição |
|---|---|
any |
O any tipo de dados é o status fornecido quando um valor não tem uma definição de tipo de dados explícita. O any tipo é o tipo de dados que classifica todos os valores. |
binary |
O binary tipo de dados pode ser usado para representar outros dados com um formato binário. |
type |
Um valor que classifica outros valores. Para obter mais informações, acesse Tipos. |
null |
Representa a ausência de um valor ou um valor de estado indeterminado ou desconhecido. |
anynonnull |
Representa qualquer tipo que não seja anulável. |
date |
Representa apenas uma data (sem parte de hora). |
time |
Representa apenas a hora (nenhuma parte da data). |
datetime |
Representa um valor de data e hora. A parte de tempo de uma data é armazenada como uma fração para múltiplos inteiros de 1/300 segundos (3,33 ms). Há suporte para datas entre os anos 1900 e 9999. |
datetimezone |
Representa uma data e hora UTC com um deslocamento de fuso horário. |
duration |
Representa um período de tempo. Esse tipo pode ser adicionado ou subtraído de um datetime campo com resultados corretos. Para obter mais informações, acesse Duração. |
text |
Uma cadeia de dados de caractere Unicode. Pode ser cadeias de caracteres, números ou datas representadas em um formato de texto. O comprimento máximo da cadeia de caracteres é de 268.435.456 caracteres Unicode (em que cada caractere Unicode é de dois bytes) ou 536.870.912 bytes. |
logical |
Um valor booliano de ou truefalse. |
list |
Um valor que produz uma sequência de valores quando enumerado. Para obter mais informações, acesse tipos de lista e valores de lista. |
record |
Uma sequência ordenada de campos. Cada campo contém um nome de campo e um valor de campo. Para obter mais informações, acesse tipos de registro e valores de registro. |
table |
Uma sequência ordenada de linhas divididas em colunas. Para obter mais informações, acesse tipos de tabela e valores de tabela. |
function |
Um valor que mapeia um conjunto de argumentos para um único valor. Para obter mais informações, vá para funções e tipos de função. |
number |
Representa qualquer número usado para operações numéricas e aritméticas. Para obter mais informações, vá para Número. |
Decimal.Type |
Representa um número de ponto flutuante de 64 bits (oito bytes). É o tipo de número mais comum e corresponde a números como você costuma pensar neles. Embora projetado para lidar com números com valores fracionários, ele também manipula números inteiros. Ele Decimal.Type pode lidar com valores negativos de –1,79E +308 a –2,23E –308, 0 e valores positivos de 2,23E –308 a 1,79E + 308. Por exemplo, números como 34, 34,01 e 34,000367063 são números decimais válidos. A maior precisão que pode ser representada em um Decimal.Type tem 15 dígitos. O separador decimal pode ocorrer em qualquer lugar no número. Corresponde Decimal.Type a como o Excel armazena seus números. Observe que um número de ponto flutuante binário não pode representar todos os números em seu intervalo com suporte com 100% precisão. Portanto, pequenas diferenças na precisão podem ocorrer ao representar determinados números decimais. |
Currency.Type |
Esse tipo de dados tem um local fixo para o separador decimal. O separador decimal sempre tem quatro dígitos à direita e permite 19 dígitos de significância. O maior valor que ele pode representar é 922.337.203.685.477.5807 (positivo ou negativo). Ao contrário Decimal.Typede , o Currency.Type é sempre preciso e, portanto, é útil em casos em que a imprecisão da notação de ponto flutuante pode introduzir erros. |
Percentage.Type |
Fundamentalmente o mesmo que um Decimal.Type, mas ele tem uma máscara para formatar os valores como um valor percentual. |
Int8.Type |
Representa um valor inteiro com sinal de 8 bits (um byte). Como é um inteiro, não tem dígitos à direita do local decimal. Ele permite três dígitos; um número inteiro positivo ou negativo entre –128 e 127. Assim como acontece com o Currency.TypeInt8.Type . pode ser útil em casos em que você precisa controlar o arredondamento. |
Int16.Type |
Representa um valor inteiro com sinal de 16 bits (dois bytes). Como é um inteiro, não tem dígitos à direita do local decimal. Ele permite seis dígitos; um número inteiro positivo ou negativo entre –32.768 (–2^15) e 32.767 (2^15-1). Assim como acontece com o Currency.TypeInt16.Type . pode ser útil em casos em que você precisa controlar o arredondamento. |
Int32.Type |
Representa um valor inteiro com sinal de 32 bits (quatro bytes). Como é um inteiro, não tem dígitos à direita do local decimal. Ele permite 10 dígitos; um número inteiro positivo ou negativo entre –2.147.483.648 (–2^31) e 2.147.483.647 (2^31–1). Assim como acontece com o Currency.TypeInt32.Type . pode ser útil em casos em que você precisa controlar o arredondamento. |
Int64.Type |
Representa um valor inteiro com sinal de 64 bits (oito bytes). Como é um inteiro, não tem dígitos à direita do local decimal. Ele permite 19 dígitos; um número inteiro positivo ou negativo entre –9.223.372.036.854.775.808 (–2^63) e 9.223.372.036.854.775.807 (2^63–1). Ele pode representar a maior precisão possível dos vários tipos de dados numéricos. Assim como acontece com o Currency.TypeInt64.Type . pode ser útil em casos em que você precisa controlar o arredondamento. |
Byte.Type |
Representa um valor inteiro sem sinal de 8 bits (um byte). Como é um inteiro sem sinal, ele não tem dígitos à direita do local decimal e só pode conter valores positivos. Ele permite três dígitos; um número positivo entre 0 e 255. |
Single.Type |
Representa um número de ponto flutuante de precisão única. Ele tem um intervalo aproximado de –3,99 X 1038 a 3,99 X 1038 e dá suporte a aproximadamente 9 dígitos de precisão. Ele também pode representar infinito positivo e negativo e NaN (Não um Número). |
Double.Type |
Representa um número de ponto flutuante de precisão dupla. Ele tem um intervalo aproximado de –1,7976931348623158 X 10307 a 1,7976931348623158 X 10307 e dá suporte a aproximadamente 17 dígitos de precisão. Ele também pode representar infinito positivo e negativo e NaN (Não um Número). |
Guid.Type |
Representa um valor de texto de 128 bits que consiste em 32 valores hexadecimal usando o fator forma de 8 valores> hex-4< hex values-4<> hex values-4<> hex values-12>< hex values>, que compõem o valor GUID.< |
none |
O tipo de dados que não classifica nenhum valor. |
Os únicos outros valores comumente usados *.Type são enumerações. Para obter mais informações, vá para Enumerações.
Conversão de tipos
A linguagem de fórmula do Power Query M tem fórmulas para converter entre tipos. A seguir está um resumo de fórmulas de conversão em M.
Número
| Conversão de tipos | Descrição |
|---|---|
| Number.FromText(texto como texto) como número | Retorna um valor numérico de um valor de texto. |
| Number.ToText(número como número) como texto | Retorna um valor de texto de um valor numérico. |
| Number.From(valor como qualquer um) como número | Retorna um valor numérico de um valor. |
| Byte.From(valor como qualquer um) como número | Retorna um valor numérico de inteiro de 8 bits do valor especificado. |
| Int8.From(valor como qualquer um) como número | Retorna um valor numérico de inteiro de 8 bits do valor especificado. |
| Int16.From(valor como qualquer um) como número | Retorna um valor numérico de inteiro de 16 bits do valor especificado. |
| Int32.From(valor como qualquer um) como número | Retorna um valor numérico de inteiro de 32 bits do valor especificado. |
| Int64.From(valor como qualquer um) como número | Retorna um valor numérico de inteiro de 64 bits do valor especificado. |
| Single.From(valor como qualquer um) como número | Retorna um valor numérico único do valor especificado. |
| Double.From(valor como qualquer um) como número | Retorna um valor de número duplo do valor especificado. |
| Decimal.From(valor como qualquer um) como número | Retorna um valor numérico Decimal do valor especificado. |
| Currency.From(valor como qualquer um) como número | Retorna um valor de número Currency do valor especificado. |
| Percentage.From(valor como qualquer um) como número | Retorna um valor de número de porcentagem do valor fornecido. |
Texto
| Conversão de tipos | Descrição |
|---|---|
| Text.From(valor como qualquer outro) como texto | Retorna a representação de texto de um valor de número, data, time, datetime, datetimezone, lógico, duração ou binário. |
| Guid.From(valor como texto) como texto | Retorna a representação GUID do texto especificado. |
Lógico
| Conversão de tipos | Descrição |
|---|---|
| Logical.FromText(texto como texto) como lógico | Retorna um valor lógico de true ou false de um valor de texto. |
| Logical.ToText(lógico como lógico) como texto | Retorna um valor de texto de um valor lógico. |
| Logical.From(valor como qualquer um) como lógico | Retorna um valor lógico de um valor. |
Date, Time, DateTime e DateTimeZone
| Conversão de tipos | Descrição |
|---|---|
| .FromText(texto como texto) como date, time, datetime ou datetimezone | Retorna um valor de date, time, datetime ou datetimezone de um conjunto de formatos de data e valor de cultura. |
| . ToText(date, time, dateTime ou dateTimeZone como data, hora, datetime ou datetimezone) como texto | Retorna um valor de texto de um valor date, time, datetime ou datetimezone. |
| . From(value as any) | Retorna um valor date, time, datetime ou datetimezone de um valor. |
| .ToRecord(date, time, dateTime ou dateTimeZone como date, time, datetime ou datetimezone) | Retorna um registro que contém partes de um valordate, time, datetime ou datetimezone. |