Tipos de dados no Power QueryData types in Power Query

Os tipos de dados no Power Query são usados para classificar os valores para que tenham um DataSet mais estruturado.Data types in Power Query are used to classify values to have a more structured dataset. Os tipos de dados são definidos em valores de nível de campo — dentro de um campo que são definidos para estar em conformidade com o tipo de dados do campo.Data types are defined at the field level—values inside a field are set to conform to the data type of the field.

O tipo de dados de uma coluna é exibido no lado esquerdo do título da coluna com um ícone que symbolizes o tipo de dados.The data type of a column is displayed on the left side of the column heading with an icon that symbolizes the data type.

Mostra os ícones de tipo de dados comuns exibidos no lado esquerdo do título de coluna da tabela no painel de visualização de dadosShows common data type icons displayed on the left side of the table column heading in the data preview pane

Observação

Power Query fornece um conjunto de transformações contextuais e opções com base no tipo de dados da coluna.Power Query provides a set of contextual transformations and options based on the data type of the column. Por exemplo, quando você seleciona uma coluna com um tipo de dados data, obtém as transformações e opções que se aplicam a esse tipo de dados específico.For example, when you select a column with a data type of Date, you get transformations and options that apply to that specific data type. Essas transformações e opções ocorrem em toda a interface Power Query, como nas guias transformar e adicionar coluna e nas opções de filtro inteligente.These transformations and options occur throughout the Power Query interface, such as on the Transform and Add column tabs and the smart filter options.

Os tipos de dados mais comuns usados no Power Query são listados na tabela a seguir.The most common data types used in Power Query are listed in the following table. Embora esteja além do escopo deste artigo, você pode encontrar a lista completa de tipos de dados no artigo Power Query M de tiposde linguagem da fórmula.Although beyond the scope of this article, you can find the complete list of data types in the Power Query M formula language Types article.

Tipo de dadosData type íconeIcon DescriçãoDescription
TextoText Texto Uma cadeia de caracteres de dados de caractere Unicode.A Unicode character data string. Ela pode conter cadeias de caracteres, datas ou números representados no formato de texto.Can be strings, numbers, or dates represented in a text format. O comprimento máximo da cadeia de caracteres é de 268.435.456 caracteres Unicode (onde cada caractere Unicode tem dois bytes) ou 536.870.912 bytes.Maximum string length is 268,435,456 Unicode characters (where each Unicode character is two bytes) or 536,870,912 bytes.
Verdadeiro/FalsoTrue/False Verdadeiro/Falso Um valor booliano de true ou false.A Boolean value of either True or False.
Número decimalDecimal number Número Decimal Representa um número de ponto flutuante de 64 bits (oito bytes).Represents a 64-bit (eight-byte) floating point number. É o tipo de número mais comum e corresponde a números como você costuma imaginar.It's the most common number type, and corresponds to numbers as you usually think of them. Embora seja projetado para lidar com números com valores fracionários, ele também lida com números inteiros.Although designed to handle numbers with fractional values, it also handles whole numbers. O tipo de número decimal pode manipular valores negativos de – 1.79 e + 308 por meio de – -2, 23e e – 308, 0 e valores positivos de -2, 23E e – 308 a 1.79 e + 308.The Decimal Number type can handle negative values from –1.79E +308 through –2.23E –308, 0, and positive values from 2.23E –308 through 1.79E + 308. Por exemplo, números como 34, 34,01 e 34,000367063 são números decimais válidos.For example, numbers like 34, 34.01, and 34.000367063 are valid decimal numbers. A maior precisão que pode ser representada em um tipo de Número Decimal tem 15 dígitos.The largest precision that can be represented in a Decimal Number type is 15 digits long. O separador decimal pode ocorrer em qualquer lugar no número.The decimal separator can occur anywhere in the number. O tipo de Número Decimal corresponde a como o Excel armazena seus números.The Decimal Number type corresponds to how Excel stores its numbers.
Número decimal fixoFixed decimal number Moeda Também conhecido como o tipo de moeda, esse tipo de dados tem um local fixo para o separador decimal.Also known as the Currency type, this data type has a fixed location for the decimal separator. O separador decimal tem sempre quatro dígitos à direita e permite 19 dígitos de significância.The decimal separator always has four digits to its right and allows for 19 digits of significance. O maior valor que ele pode representar é 922.337.203.685.477,5807 (positivo ou negativo).The largest value it can represent is 922,337,203,685,477.5807 (positive or negative). O tipo de Número Decimal Fixo é útil em casos em que o arredondamento pode introduzir erros.The Fixed Decimal Number type is useful in cases where rounding might introduce errors. Quando você trabalha com muitos números que têm valores fracionários pequenos, às vezes, eles podem se acumular e forçar um número a apresentar uma pequena diferença.When you work with many numbers that have small fractional values, they can sometimes accumulate and force a number to be slightly off. Como os valores anteriores aos quatro dígitos à direita do separador decimal são truncados, o tipo de número decimal fixo pode ajudá-lo a evitar esses tipos de erros.Because the values past the four digits to the right of the decimal separator are truncated, the Fixed Decimal Number type can help you avoid these kinds of errors.
Número inteiroWhole number Número Inteiro Representa um valor inteiro de 64 bits (oito bytes).Represents a 64-bit (eight-byte) integer value. Como é um inteiro, ele não tem nenhum dígito à direita da casa decimal.Because it's an integer, it has no digits to the right of the decimal place. 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).It allows for 19 digits; positive or negative whole numbers between –9,223,372,036,854,775,807 (–2^63+1) and 9,223,372,036,854,775,806 (2^63–2). Pode representar a maior precisão possível dos diversos tipos de dados numéricos.It can represent the largest possible precision of the various numeric data types. Assim como com o tipo de número decimal fixo, o tipo de número inteiro pode ser útil nos casos em que você precisa controlar o arredondamento.As with the Fixed Decimal Number type, the Whole Number type can be useful in cases where you need to control rounding.
PercentualPercentage Percentual Fundamentalmente o mesmo que um tipo de número decimal, mas ele tem uma máscara para formatar os valores na coluna como uma porcentagem na janela do editor de Power Query.Fundamentally the same as a Decimal Number type, but it has a mask to format the values in the column as a percentage in the Power Query Editor window.
Data/horaDate/Time Data/Hora Representa um valor de data e hora.Represents both a date and time value. Embaixo dos bastidores, o valor de data/hora é armazenado como um tipo de número decimal, de modo que você pode realmente converter entre os dois.Underneath the covers, the Date/Time value is stored as a Decimal Number type, so you can actually convert between the two. A parte de hora da data é armazenada como uma fração de múltiplos inteiros de 1/300 segundos (3,33 ms).The time portion of a date is stored as a fraction to whole multiples of 1/300 seconds (3.33 ms). As datas entre os anos 1900 e 9999 têm suporte.Dates between the years 1900 and 9999 are supported.
DataDate Data Representa apenas uma data (sem parte de hora).Represents just a date (no time portion). Quando convertido para o modelo, uma Data é o mesmo que um valor de Data/Hora com zero como o valor fracionário.When converted into the model, a Date is the same as a Date/Time value with zero for the fractional value.
HoraTime Hora Representa apenas a hora (sem parte de data).Represents just time (no date portion). Quando convertido para o modelo, um valor de Hora é igual a um valor de Data/Hora sem dígitos à esquerda da casa decimal.When converted into the model, a Time value is the same as a Date/Time value with no digits to the left of the decimal place.
Data/Hora/Fuso HorárioDate/Time/Timezone Data/Hora/Fuso Horário Representa uma data/hora UTC com um deslocamento de fuso horário.Represents a UTC Date/Time with a time-zone offset. Ela é convertida em data/hora quando carregada no modelo.It's converted into Date/Time when loaded into the model.
DurationDuration Duration Representa um período de tempo, que é convertido em um tipo de número decimal quando carregado no modelo.Represents a length of time, which is converted into a Decimal Number type when loaded into the model. Como um tipo de número decimal, ele pode ser adicionado ou subtraído de um campo de data/hora com os resultados corretos.As a Decimal Number type, it can be added or subtracted from a Date/Time field with correct results. Como é um tipo de número decimal, você pode usá-lo facilmente em visualizações que mostram a magnitude.Because it's a Decimal Number type, you can easily use it in visualizations that show magnitude.
BinaryBinary Binário O tipo de dados Binary pode ser usado para representar outros dados com um formato binário.The Binary data type can be used to represent any other data with a binary format.
QualquerAny Qualquer O tipo de dados any é o status fornecido a uma coluna que não tem uma definição de tipo de dados explícita.The Any data type is the status given to a column that doesn't have an explicit data type definition. Any é o tipo de dados que classifica todos os valores.Any is the data type that classifies all values. É recomendável que você sempre defina explicitamente os tipos de dados de coluna para suas consultas de fontes não estruturadas e evite ter colunas com qualquer tipo de dados como a saída da consulta.We recommend that you always explicitly define the column data types for your queries from unstructured sources, and avoid having any columns with the Any data type as the output of your query.

Detecção de tipo de dadosData type detection

A detecção de tipo de dados ocorre automaticamente ao conectar-se a:Data type detection occurs automatically when connecting to:

  • As fontes de dados estruturadas, como banco de dados, Power Query lê o esquema da tabela a partir da fonte e exibe os dados automaticamente usando o tipo de dados correto para cada coluna.Structured data sources such as databases, Power Query reads the table schema from the data source and automatically displays the data by using the correct data type for each column.

  • Fontes não estruturadas, como Excel, CSV e arquivos de texto, Power Query detecta automaticamente os tipos de dados inspecionando os valores na tabela.Unstructured sources such as Excel, CSV, and text files, Power Query automatically detects data types by inspecting the values in the table. Por padrão, a detecção automática de tipo de dados está habilitada em Power Query para fontes não estruturadas.By default, automatic data type detection is enabled in Power Query for unstructured sources.

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.You can also use the Detect data type command in the Any column group on the Transform tab to automatically detect the data types of the columns in your table.

Comando detectar tipo de dados na guia transformarDetect data type command on the Transform tab

Como definir um tipo de dados de colunaHow to define a column data type

Você pode definir ou alterar o tipo de dados de uma coluna em qualquer um dos quatro locais:You can define or change the data type of a column in any of four places:

  • Na guia início , no grupo transformar , no menu suspenso tipo de dados .On the Home tab, in the Transform group, on the Data type drop-down menu.

    Menu tipo de dados na guia página inicialData type menu on the Home tab

  • Na guia transformar , no grupo qualquer coluna , no menu suspenso tipo de dados .On the Transform tab, in the Any column group, on the Data type drop-down menu.

    Menu tipo de dados na guia transformarData type menu on the Transform tab

  • Selecionando o ícone no lado esquerdo do título da coluna.By selecting the icon on the left side of the column heading.

    Menu de tipo de dados no título da colunaData type menu in the column heading

  • No menu de atalho da coluna, em alterar tipo.On the column shortcut menu, under Change Type.

    Alterar o comando de tipo no menu de atalho da colunaChange type command on the column shortcut menu

Detecção automática de cabeçalhos e tipo de dados de colunaAutomatic detection of column data type and headers

Essa configuração é específica para fontes não estruturadas.This setting is specifically for unstructured sources. Ele ajuda a inspecionar e detectar automaticamente os tipos de coluna e os cabeçalhos com base nas primeiras 200 linhas da tabela.It helps you by automatically inspecting and detecting column types and headers based on the first 200 rows of your table. Quando essa configuração é habilitada, Power Query adiciona automaticamente duas etapas à sua consulta:When this setting is enabled, Power Query automatically adds two steps to your query:

  • Promover cabeçalhos de coluna: promove a primeira linha da tabela para ser o cabeçalho da coluna.Promote column headers: Promotes the first row of the table to be the column header.
  • Tipo alterado: converte os valores de qualquer tipo de dados em um tipo de dados com base na inspeção dos valores de cada coluna.Changed type: Converts the values from the Any data type to a data type based on the inspection of the values from each column.

Por padrão, essa configuração está habilitada.By default, this setting is enabled. Para desabilitar ou habilitar essa configuração, siga as etapas que se aplicam à sua experiência de Power Query.To disable or enable this setting, follow the steps that apply to your Power Query experience.

Para configurar a detecção automática de tipo de dados no Power Query onlineTo configure automatic data type detection in Power Query Online

Na guia início , selecione Opçõese, em seguida, selecione Opções de projeto.On the Home tab, select Options, and then select Project options. Na janela Opções do projeto , marque a caixa de seleção detectar automaticamente os tipos de coluna e cabeçalhos para origens não estruturadas .In the Project options window, select the Automatically detect column types and headers for unstructured sources check box.

Opção detectar automaticamente o tipo de dados nas opções do projetoAutomatically detect data type option in project options

Para configurar a detecção automática de tipo de dados no Power Query para área de trabalhoTo configure automatic data type detection in Power Query for Desktop

Você pode definir esse comportamento no nível global e por arquivo na janela Opções (no editor de Power Query, na guia arquivo , selecione opções e > Opçõesde configurações).You can define this behavior both at the global and per-file level in the Options window (in the Power Query Editor, on the File tab, select Options and settings > Options).

  • Global: no painel esquerdo, em global, selecione carregamento de dados.Global: On the left pane under Global, select Data load. No painel direito, 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 todos os novos arquivos criados em seu aplicativo:On the right pane under Type detection, you can select any of three type detection configurations that will be applied to every new file created in your application:

    • Sempre detectar tipos de coluna e cabeçalhos para fontes não estruturadasAlways detect column types and headers for unstructured sources
    • Detectar tipos de coluna e cabeçalhos de fontes não estruturadas de acordo com a configuração de cada arquivoDetect column types and headers for unstructured sources according to each file's setting
    • Nunca detectar tipos de coluna e cabeçalhos para fontes não estruturadasNever detect column types and headers for unstructured sources

    Detecção de tipo globalGlobal type detection

  • Arquivo atual: no painel esquerdo, em arquivo atual, selecione carregamento de dados.Current file: On the left pane under Current file, select Data load. No painel direito, em detecção de tipo, selecione se deseja habilitar ou desabilitar a detecção de tipo para o arquivo atual.On the right pane under Type detection, select whether you want to enable or disable type detection for the current file.

    Opção detectar automaticamente tipo de dados no Power Query para área de trabalhoAutomatically detect data type option in Power Query for Desktop

Localidade do documento ou do projetoDocument or project locale

O Power Query lida com dois componentes distintos que gerenciam a maneira que as coisas parecem e são interpretadas:Power Query handles two distinct components that manage the way that things look and are interpreted:

  • Localização: o componente que informa Power Query em qual idioma ele deve ser exibido.Localization: the component that tells Power Query in what language it should be displayed.
  • Globalização: o componente que manipula a formatação dos valores, além da interpretação de valores de texto.Globalization: the component that handles the formatting of the values, in addition to the interpretation of text values.

Locale é um único valor que mantém os componentes de localização e globalização.Locale is a single value that holds both the localization and globalization components. A localidade é usada para interpretar valores de texto e convertê-los em outros tipos de dados.Locale is used to interpret text values and convert them into other data types. Por exemplo, a localidade Inglês (Estados Unidos) significa que a localização está em Estados Unidos Inglês e a globalização, ou o formato do valor, baseia-se nos padrões usados na Estados Unidos.For example, the locale English (United States) means that the localization is in United States English and the globalization, or format of the value, is based on the standards used in the United States.

Quando Power Query define um tipo de dados de coluna ou converte de um tipo de dados para outro, ele precisa interpretar os valores a serem convertidos antes de poder transformá-los em um tipo de dados diferente.When Power Query defines a column data type or converts from one data type to another, it has to interpret the values to be converted before it can transform them to a different data type.

  • No Power Query online, essa interpretação é definida em Opções de projeto, em localidade.In Power Query Online, this interpretation is defined in Project options, under Locale.

    Configuração de localidade no Power Query onlineLocale setting in Power Query Online

  • No Power Query para área de trabalho, o Power Query reconhece automaticamente o formato regional do sistema operacional e o usa para interpretar os valores da conversão de tipo de dados.In Power Query for Desktop, Power Query automatically recognizes your operating system regional format and uses that to interpret the values for data type conversion. Para substituir essa configuração de localidade, abra a janela Opções de consulta e, no painel esquerdo, em arquivo atual, selecione Configurações regionais.To override this locale configuration, open the query Options window, and in the left pane under Current file, select Regional settings. A partir daqui, você pode alterar a localidade para a configuração desejada.From here, you can change the locale to the setting you want.

    Configuração de localidade no Power Query para área de trabalhoLocale setting in Power Query for Desktop

Essa configuração de localidade é importante para interpretar valores de texto em um tipo de dados específico.This locale setting is important for interpreting text values into a specific data type. Por exemplo, imagine que você tenha sua localidade definida como Inglês (Estados Unidos), mas uma coluna em um dos arquivos CSV tem datas formatadas no formato Reino Unido do dia/mês/ano.For example, imagine that you have your locale set as English (United States), but a column in one of your CSV files has dates formatted in the United Kingdom format of day/month/year.

Tabela original de exemplo com datas na coluna data definida como formato UK do dia, mês e anoSample original table with dates in the Date column set to UK format of day, then month, then year

Ao tentar definir o tipo de dados da coluna de Data como Data, você obtém os valores de erro.When you try setting the data type of the Date column to be Date, you get error values.

Erro de conversão de tipo de dadosData type conversion error

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.These errors occur because the locale being used is trying to interpret the date in the English (United States) format, which is month/day/year. Como não há mês 22 no calendário, ele causa um erro.Because there's no month 22 in the calendar, it causes an error.

Em vez de tentar selecionar apenas o tipo de dados de data, você pode clicar com o botão direito do mouse no título da coluna, selecionar alterar tipoe, em seguida, selecionar usando localidade.Instead of trying to just select the Date data type, you can right-click the column heading, select Change type, and then select Using locale.

Usando a localidade no menu de atalho da colunaUsing locale on the column shortcut menu

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).In the Change column type with locale dialog box, you select the data type that you want to set, but you also select which locale to use, which in this case needs to be English (United Kingdom).

Alterar tipo de coluna com localidadeChange column type with locale

Usando essa localidade, Power Query poderá interpretar valores corretamente e converter esses valores para o tipo de dados correto.Using this locale, Power Query will be able to interpret values correctly and convert those values to the right data type.

Tabela final depois de usar a localidade, com as datas na coluna data definida como formato de mês dos EUA, dia e anoFinal table after using locale, with the dates in the Date column set to US format of month, then day, then year

Para verificar os valores de data finalTo verify final date values

A formatação dos valores é controlada pelo valor de globalização.The formatting of the values is driven by the globalization value. Se você tiver qualquer dúvida sobre o valor exibido por Power Query, poderá verificar a conversão de valores de data adicionando novas colunas para o dia, mês e ano a partir do valor.If you have any doubts about the value displayed by Power Query, you can verify the conversion of date values by adding new columns for the day, month, and year from the value. Para fazer isso, selecione a coluna Data e vá para a guia adicionar coluna na faixa de opções.To do this, select the Date column and go to the Add column tab on the ribbon. No grupo de colunas de data e hora , você verá as opções para uma coluna de data.In the Date and time column group, you'll see the options for a date column.

Selecionando partes do valor da coluna de data a ser colocada em uma nova colunaSelecting portions of the date column value to be placed in a new column

A partir daqui, você pode extrair partes do valor de data, como o número do ano, o número do mês, o número do dia ou ainda mais colunas extraídas da coluna Data .From here, you can extract parts of the date value, such as the year number, the month number, the day number, or even more columns extracted from the Date column.

Partes de dataDate parts

Usando essas colunas, você pode verificar se seu valor de data foi convertido corretamente.By using these columns, you can verify that your date value has been converted correctly.

Matriz de conversão de tipo de dadosData type conversion matrix

A matriz a seguir foi projetada para dar uma olhada rápida na viabilidade da conversão de tipo de dados de um valor de um tipo de dados para outro.The following matrix is designed to give you a quick look at the feasibility of data type conversion of a value from one data type to another.

Tipos de dadosData Types 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 decimalDecimal number 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 Impossível Possível, mas adiciona valores ao valor original Possível Possível Possível
Moeda MoedaCurrency Possível Possível, mas trunca o valor original Possível Possível Possível, mas trunca o valor original Impossível Possível, mas adiciona valores ao valor original Possível Possível Possível
Número inteiro Número inteiroWhole number Possível Possível Possível Possível Possível Impossível Possível, mas adiciona valores ao valor original Possível Possível Possível
Percentual PercentualPercentage Possível Possível, mas trunca o valor original Possível, mas trunca o valor original Possível Possível Impossível Possível, mas adiciona valores ao valor original Possível Possível Possível
Data/Hora Data/HoraDate/Time 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 Impossível
Data DataDate Possível Possível Possível Possível Possível Impossível Possível, mas adiciona valores ao valor original Impossível Possível Impossível
Hora HoraTime Possível Possível Possível Possível Possível, mas adiciona valores ao valor original Impossível Possível, mas adiciona valores ao valor original Impossível Possível Impossível
Data/Hora/Fuso Horário Data/Hora/Fuso HorárioDate/Time/Timezone 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 Impossível
Duration DurationDuration 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 Impossível
Texto TextoText Possível Possível Possível Possível Possível Possível Possível Possível Possível Possível
Verdadeiro/Falso Verdadeiro/FalsoTrue/False Possível Possível Possível Possível Impossível Impossível Impossível Impossível Impossível Possível
íconeIcon DescriçãoDescription
Possível PossívelPossible
Impossível ImpossívelNot possible
Possível, mas adiciona valores ao valor original Possível, mas adiciona valores ao valor originalPossible, but it adds values to the original value
Possível, mas trunca o valor originalPossible, but it truncates the original value Possível, mas trunca o valor originalPossible, but it truncates the original value