Tipo de dados no Power Query

Os tipos de dados no Power Query são usados para classificar valores para ter um conjunto de dados mais estruturado. Os tipos de dados são definidos no nível do campo – os valores dentro de um campo são definidos para conformidade com o tipo de dados do campo.

O tipo de dados de uma coluna é exibido no lado esquerdo do título da coluna com um ícone que simboliza o tipo de dados.

Mostra ícones de tipos de dados comuns exibidos no lado esquerdo do título da coluna da tabela no painel de visualização de dados.

Observação

O Power Query fornece um conjunto de transformações contextuais e opções com base no tipo de dados da coluna. Por exemplo, quando você seleciona uma coluna com um tipo de dados de Data, obtém transformações e opções que se aplicam a esse tipo de dados específico. Essas transformações e opções ocorrem em toda a interface do Power Query, como nas guias Transformar e Adicionar colunas e nas opções de filtro inteligente.

Os tipos de dados mais comuns usados no Power Query estão listados na tabela a seguir. Embora esteja além do escopo deste artigo, você pode encontrar a lista completa de tipos de dados no artigo Tipos da linguagem de fórmula M do Power Query.

Tipo de dados Ícone Descrição
Text Text. Uma cadeia de caracteres de dados de caractere Unicode. Podem ser cadeias de caracteres, números ou datas representados em um formato de texto. O comprimento máximo da cadeia de caracteres é de 268.435.456 de caracteres Unicode (em que cada caractere Unicode é de dois bytes) ou 536.870.912 bytes.
Verdadeiro/Falso Verdadeiro/Falso. Um valor booliano que é Verdadeiro ou Falso.
Número decimal Número decimal. Representa um número de ponto flutuante de 64 bits (oito bytes). É o tipo de número mais comum e corresponde aos números como você normalmente os conhece. Embora seja projetado para lidar com números com valores fracionários, ele também lida com números inteiros. O tipo Número Decimal 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 tipo de Número Decimal é de 15 dígitos. O separador decimal pode ocorrer em qualquer lugar no número. O tipo Número decimal corresponde 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 dentro de seu intervalo com suporte com 100% de precisão. Portanto, pequenas diferenças de precisão podem ocorrer ao representar determinados números decimais.
Número decimal fixo Moeda. Também conhecido como tipo Moeda, esse tipo de dados tem um local fixo para o separador decimal. O separador decimal tem sempre 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 do Número Decimal, o tipo Número Decimal Fixo é sempre preciso e, portanto, é útil em casos em que a imprecisão da notação de ponto flutuante pode introduzir erros.
Número inteiro Número Inteiro. Representa um valor inteiro de 64 bits (oito bytes). Como é um número inteiro, ele não tem nenhum dígito à direita da casa decimal. Ele permite 19 dígitos; números inteiros positivos ou negativos entre -9.223.372.036.854.775.807 (-2^63 +1) e 9.223.372.036.854.775.806 (2^63 -2). Ele pode representar a maior precisão possível dos vários tipos de dados numéricos. Assim como com o tipo Número Decimal Fixo, o tipo Número Inteiro pode ser útil em casos nos quais você precisa controlar o arredondamento.
Percentual Porcentagem. Fundamentalmente igual a um tipo Número Decimal, mas ele tem uma máscara para formatar os valores na coluna como um percentual na janela do Editor do Power Query.
Data/hora Data/Hora. Representa um valor de data e um valor temporal. Nos bastidores, o valor Data/Hora é armazenado como um tipo de Número Decimal, para que você possa realmente fazer a conversão entre os dois. 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 de 1900 e 9999.
Data Data. Representa apenas uma data (sem a parte referente à hora). Quando convertida no modelo, uma Data é igual a um valor de Data/Hora com o valor fracionário zero.
Hora Tempo. Representa apenas a hora (sem a parte referente à data). Quando convertido no modelo, um valor Hora é o mesmo que um valor de Data/Hora sem dígitos à esquerda da casa decimal.
Data/Hora/Fuso Horário Data/Hora/Fuso Horário. Representa uma Data/Hora UTC com um deslocamento de fuso horário. Ele é convertido em Data/Hora quando é carregado no modelo.
Duration Duração. Representa um período de tempo, que é convertido em um tipo Número Decimal quando carregado no modelo. Como um tipo de Número Decimal, ele pode ser adicionado ou subtraído de um campo de Data/Hora com resultados corretos. Como é um tipo de Número Decimal, você pode usá-lo facilmente em visualizações que mostram magnitude.
Binary Binário. O tipo de dados binário pode ser usado para representar quaisquer outros dados com um formato binário.
Qualquer Qualquer um. O tipo de dados Qualquer é o status fornecido a uma coluna que não tem uma definição de tipo de dados explícita. Qualquer um é o tipo de dados que classifica todos os valores. Recomendamos que você sempre defina explicitamente os tipos de dados da coluna em suas consultas de fontes não estruturadas e evite ter colunas com o tipo de dados Qualquer como o resultado da sua consulta.

Detecção de tipo de dados

A detecção de tipo de dados ocorre automaticamente ao se conectar a:

  • Fontes de dados estruturadas, como bancos de dados; o Power Query lê o esquema da tabela da fonte de dados e exibe automaticamente os dados usando o tipo de dados correto para cada coluna.

  • Fontes não estruturadas, como Excel, CSV e arquivos de texto; o Power Query detecta automaticamente os tipos de dados inspecionando os valores na tabela. Por padrão, a detecção automática de tipo de dados é habilitada no Power Query para fontes não estruturadas.

Você também pode usar o comando Detectar tipo de dados no grupo Qualquer coluna na guia Transformar para detectar automaticamente os tipos de dados das colunas em sua tabela.

Comando Detectar tipo de dados na guia Transformar.

Como definir o tipo de dados de uma coluna

Você pode definir ou alterar o tipo de dados de uma coluna em qualquer um desses quatro locais:

  • Na guia Página Inicial, no grupo Transformar, no menu suspenso Tipo de dados.

    Menu Tipo de dados na guia Início.

  • Na guia Transformar, no grupo Qualquer coluna, no menu suspenso Tipo de dados.

    Menu Tipo de dados na guia Transformar.

  • Selecionando o ícone no lado esquerdo do título da coluna.

    Menu Tipo de dados no título da coluna.

  • No menu de atalho da coluna, em Alterar Tipo.

    Comando Alterar tipo no menu de atalho da coluna.

Detecção automática de cabeçalhos e tipos de dados de coluna

Essa configuração serve especificamente para fontes não estruturadas. Ela ajuda você por meio da inspeção e detecção automática de cabeçalhos e tipos de coluna com base nas primeiras 200 linhas da tabela. Quando essa configuração está habilitada, Power Query adiciona automaticamente duas etapas à sua consulta:

  • Promover cabeçalhos de coluna: promove a primeira linha da tabela para ser o cabeçalho da coluna.
  • Tipo alterado: converte os valores do tipo de dados Qualquer em um tipo de dados com base na inspeção dos valores de cada coluna.

Por padrão, essa configuração está habilitada. Para desabilitar ou habilitar essa configuração, siga as etapas que se aplicam à sua experiência do Power Query.

Para configurar a detecção automática de tipo de dados no Power Query Online

Na guia Página Inicial, selecione Opções e selecione Opções do projeto. Na janela Opções do Projeto, marque a caixa de seleção Detectar automaticamente tipos de coluna e cabeçalhos para fontes não estruturadas.

Opção Detectar automaticamente o tipo de dados nas opções do projeto.

Para configurar a detecção automática de tipo de dados no Power Query for Desktop

Você pode definir esse comportamento no nível global e por arquivo na janela Opções (no Editor do Power Query, na guia Arquivo, selecione Opções e configurações>Opções).

  • Global: no painel à esquerda em Global, selecione Carregamento de dados. No painel à direita, em Detecção de tipo, você pode selecionar qualquer uma das três configurações de detecção de tipo que serão aplicadas a cada novo arquivo criado em seu aplicativo:

    • Sempre detectar tipos de coluna e cabeçalhos em fontes não estruturadas
    • Detectar tipos de coluna e cabeçalhos em fontes não estruturadas de acordo com a configuração de cada arquivo
    • Nunca detectar tipos de coluna e cabeçalhos em fontes não estruturadas

    Detecção de tipo global.

  • Arquivo atual: no painel à esquerda, em Arquivo atual, selecione Carregamento de dados. No painel à direita, em Detecção de tipo, selecione se deseja habilitar ou desabilitar a detecção de tipo para o arquivo atual.

    Opção Detectar automaticamente o tipo de dados no Power Query for Desktop.

Localidade do documento ou projeto

O Power Query manipula dois componentes distintos que gerenciam a aparência das coisas e como elas são interpretadas:

  • Localização: o componente que informa o Power Query em qual idioma ele deve ser exibido.
  • Globalização: o componente que manipula a formatação dos valores, além da interpretação dos valores de texto.

Localidade é um único valor que contém os componentes de localização e globalização. A localidade é usada para interpretar valores de texto e convertê-los em outros tipos de dados. Por exemplo, a localidade Inglês (Estados Unidos) significa que a localização está em Inglês dos Estados Unidos e a globalização, ou formato do valor, baseia-se nos padrões usados no Estados Unidos.

Quando o Power Query define o tipo de dados de uma coluna ou converte de um tipo de dados em outro, ele precisa interpretar os valores a serem convertidos antes de poder transformá-los em um tipo de dados diferente.

  • No Power Query Online, essa interpretação é definida nas Opções de projeto, em Localidade.

    Configuração de localidade no Power Query Online.

  • No Power Query for Desktop, o formato regional do seu sistema operacional é reconhecido automaticamente e usado para interpretar os valores para conversão de tipo de dados. Para substituir essa configuração de localidade, abra a janela Opções de consulta e, no painel à esquerda, em Arquivo atual, selecione Configurações regionais. Aqui você pode alterar a localidade para a configuração desejada.

    Configuração de localidade no Power Query for Desktop.

Essa configuração de localidade é importante para interpretar valores de texto em um tipo de dados específico. Por exemplo, imagine que você tenha sua localidade definida como Inglês (Estados Unidos), mas uma coluna de um de seus arquivos CSV tem datas formatadas no formato do Reino Unido de dia/mês/ano.

Tabela de exemplo original com datas na coluna Data definidas para o formato do Reino Unido de dia, mês e ano.

Ao tentar definir o tipo de dados da coluna Data para ser Data, você obterá valores de erro.

Erro de conversão de tipo de dados.

Esses erros ocorrem porque a localidade que está sendo usada está tentando interpretar a data no formato Inglês (Estados Unidos), que é mês/dia/ano. Como não há nenhum mês 22 no calendário, isso causa um erro.

Em vez de tentar apenas selecionar o tipo de dados Data, clique com o botão direito do mouse no título da coluna, selecione Alterar tipo e selecione Usar localidade.

Usando a localidade no menu de atalho da coluna.

Na caixa de diálogo Alterar tipo de coluna com localidade, você seleciona o tipo de dados que deseja definir, mas também seleciona qual localidade usar, que nesse caso precisa ser Inglês (Reino Unido).

Altere o tipo de coluna com a localidade.

Usando essa localidade, o Power Query será capaz de interpretar os valores corretamente e converter esses valores no tipo de dados correto.

Tabela final depois de usar a localidade, com as datas na coluna Data definidas para o formato dos EUA de mês, dia e ano.

Para verificar valores de data final

A formatação dos valores é controlada pelo valor de globalização. Se você tiver dúvidas sobre o valor exibido pelo Power Query, poderá verificar a conversão de valores de data adicionando novas colunas para o dia, mês e ano com base no valor. Para fazer isso, selecione a coluna Data e vá para a guia Adicionar coluna na faixa de opções. No grupo Coluna de data e hora, você verá as opções para uma coluna de data.

Selecionadno partes do valor da coluna de data a serem colocadas em uma nova coluna.

Aqui você pode extrair partes do valor da data, como o número do ano, o número do mês, o número do dia e até outras colunas extraídas da coluna Data.

Partes da data.

Usando essas colunas, você pode verificar se o valor da data foi convertido corretamente.

Matriz de conversão de tipo de dados

A matriz a seguir foi projetada para dar uma visão rápida da viabilidade da conversão do tipo de dados de um valor para outro.

Observação

A conversão nessa matriz começa com o tipo de dados original na coluna Tipos de dados. Cada resultado de uma conversão para o novo tipo é mostrado na linha do tipo de dados original.

Tipos de dados Número decimal. Moeda Número inteiro Percentual Data/hora Data Hora Data/Hora/Fuso Horário Duration Texto Verdadeiro/Falso
Número decimal. Número Decimal Possível, mas trunca o valor original Possível, mas trunca o valor original Possível. Possível Possível, mas trunca o valor original Não é possível. Possível, mas adiciona valores ao valor original. Possível Possível Possível
Moeda. Moeda Possível Possível, mas trunca o valor original Possível Possível Possível, mas trunca o valor original Não é possível Possível, mas adiciona valores ao valor original Possível Possível Possível
Número inteiro. Número inteiro Possível Possível Possível Possível Possível Não é possível Possível, mas adiciona valores ao valor original Possível Possível Possível
Porcentagem. Porcentagem Possível Possível, mas trunca o valor original Possível, mas trunca o valor original Possível Possível Não é possível Possível, mas adiciona valores ao valor original Possível Possível Possível
Data/Hora. Data/Hora Possível Possível, mas trunca o valor original Possível, mas trunca o valor original Possível Possível, mas trunca o valor original Possível, mas trunca o valor original Possível, mas adiciona valores ao valor original Impossível Possível Não é possível
Data. Data Possível Possível Possível Possível Possível Não é possível Possível, mas adiciona valores ao valor original Impossível Possível Não é possível
Tempo. Hora Possível Possível Possível Possível Possível, mas adiciona valores ao valor original Não é possível Possível, mas adiciona valores ao valor original Impossível Possível Não é possível
Data/Hora/Fuso Horário. Data/Hora/Fuso Horário Possível Possível, mas trunca o valor original Possível, mas trunca o valor original Possível Possível, mas trunca o valor original Possível, mas trunca o valor original Possível, mas trunca o valor original Impossível Possível Não é possível
Duração. Duração Possível Possível, mas trunca o valor original Possível, mas trunca o valor original Possível Impossível Impossível Impossível Impossível Possível Não é possível
Text. Text Possível Possível Possível Possível Possível Possível Possível Possível Possível Possível
Verdadeiro/Falso. Verdadeiro/Falso Possível Possível Possível Possível Impossível Impossível Impossível Impossível Impossível Possível
Ícone Descrição
Possível Possível
Impossível Impossível
Possível, mas adiciona valores ao valor original Possível, mas adiciona valores ao valor original
Possível, mas trunca o valor original. Possível, mas trunca o valor original