Tipos de dados no Power BI Desktop

Este artigo descreve os tipos de dados compatíveis com o Power BI Desktop e o DAX (Data Analysis Expressions).

Quando o Power BI carrega dados, ele tenta converter os tipos de dados de colunas de origem em tipos de dados que dão suporte a armazenamento, cálculos e visualização de dados mais eficientes. Por exemplo, se uma coluna de valores que você importa do Excel não tiver nenhum valor fracionário, o Power BI Desktop converterá toda a coluna de dados para um tipo de dados de Número inteiro, que é mais adequado para armazenar inteiros.

Esse conceito é importante porque algumas funções do DAX têm requisitos de tipo de dados especiais. Em muitos casos, o DAX converte implicitamente tipos de dados, mas em alguns casos não. Por exemplo, se uma função DAX requer um tipo de dados de Data e o tipo de dados para a coluna é Texto, a função DAX não funcionará corretamente. Portanto, é importante e útil usar os tipos de dados corretos para colunas.

Determinar e especificar um tipo de dados da coluna

No Power BI Desktop, você pode determinar e especificar o tipo de dados de uma coluna no Editor do Power Query, na Exibição de Dados ou na Exibição de Relatório:

  • No Editor do Power Query, selecione a coluna e, em seguida, selecione Tipo de Dados no grupo Transformar da faixa de opções.

    Screenshot of the Power Query Editor, showing the Data type dropdown selection.

  • Em Exibição de Dados ou Exibição de Relatório, selecione a coluna e, em seguida, selecione a seta do menu suspenso ao lado de Tipo de dados na guia Ferramentas de coluna da faixa de opções.

    Screenshot of Data View, showing the Data type dropdown selection.

A seleção do menu suspenso de Tipo de Dados no Editor do Power Query tem dois tipos de dados que não estão presentes atualmente na Exibição de Dados ou Exibição de Relatório: Data/Hora/Fuso horário e Duração. Quando você carrega uma coluna com esses tipos de dados no modelo do Power BI, uma coluna Data/Hora/Fuso Horário é convertida em um tipo de dados Data/hora e uma coluna Duração é convertida em um tipo de dados Número decimal.

Atualmente, não há suporte para o tipo de dados Binário fora do Editor do Power Query. No Editor do Power Query, você poderá usar o tipo de dados Binário ao carregar arquivos binários se o converter em outros tipos de dados antes de carregá-lo no modelo do Power BI. A seleção de Binário está localizada nos menus Exibição de Dados e Exibição de Relatório por motivos herdados, mas se você tentar carregar colunas de tipo Binário no modelo do Power BI, poderá encontrar erros.

Tipos de número

O Power BI Desktop dá suporte a três tipos de número: Número decimal, Número decimal fixo e Número inteiro.

Você pode usar a propriedade Coluna de TOM (Modelo de Objeto Tabular) DataType para especificar as Enumerações DataType para tipos de número. Para obter mais informações sobre a modificação programática de objetos no Power BI, confira Programar modelos semânticos do Power BI com o Modelo de Objeto Tabular.

Número decimal

O Número decimal é o tipo de número mais comum e pode lidar com números com valores fracionários e números inteiros. O Número decimal representa números de ponto flutuante de 64 bits (oito bytes) com valores negativos de -1.79E +308 a -2.23E -308, valores positivos de 2.23E -308 a 1.79E +308 e 0. Por exemplo, números como 34, 34.01 e 34.000367063 são números decimais válidos.

A precisão mais alta que o tipo Número decimal pode representar é de 15 dígitos. O separador decimal pode ocorrer em qualquer lugar no número. Esse tipo corresponde a como o Excel armazena seus números, e o TOM especifica esse tipo como a Enumeração DataType.Double.

Número decimal fixo

O tipo de dados Número decimal fixo 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 o Número decimal fixo pode representar é 922.337.203.685.477,5807 positivo ou negativo.

O tipo de Número decimal fixo é útil em casos em que o arredondamento pode introduzir erros. 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 imprecisão. O tipo Número decimal fixo pode ajudar você a evitar esses tipos de erros truncando os valores após os quatro dígitos à direita do separador decimal.

Esse tipo de dados correspondente ao Decimal (19,4) do SQL Server ou ao tipo de dados de Moeda no Analysis Services e no Power Pivot no Excel. TOM especifica esse tipo como a Enumeração DataType.Decimal.

Número inteiro

Número inteiro representa um valor inteiro (oito bytes) de 64 bits. Como esse é um número inteiro, Número inteiro não tem nenhum dígito à direita da casa decimal. Esse tipo permite 19 dígitos de 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), portanto, pode representar os maiores números possíveis dos tipos de dados numéricos.

Assim como com o tipo Decimal fixo, o tipo de Número inteiro pode ser útil em casos nos quais você precisa controlar o arredondamento. O TOM representa o tipo de dados Número inteiro como a Enumeração DataType.Int64.

Observação

O modelo de dados do Power BI Desktop dá suporte a valores inteiros de 64 bits, mas devido a limitações de JavaScript, o maior número que os visuais conseguem expressar com segurança é 9,007,199,254,740,991 (2^53-1). Se o modelo de dados tiver números maiores, você poderá reduzir o tamanho deles por meio de cálculos antes de adicioná-los aos visuais.

Precisão dos cálculos de tipo de número

Os valores de coluna do tipo de dados Número decimal são armazenados como tipos de dados aproximados de acordo com o Padrão IEEE 754 para números de ponto flutuante. Os tipos de dados aproximados têm limitações inerentes de precisão porque, em vez de armazenar valores de número exatos, eles podem ser armazenados como aproximações bastante semelhantes ou arredondadas.

A perda de precisão ou imprecisão poderá ocorrer se o valor de ponto flutuante não puder quantificar de maneira confiável o número de dígitos de ponto flutuante. A possível imprecisão pode ocorrer na forma de resultados de cálculo inesperados ou imprecisos em alguns cenários de relatório.

Cálculos de comparação relacionados à igualdade entre valores do tipo de dados Número decimal podem potencialmente retornar resultados inesperados. As comparações de igualdade incluem igual a =, maior que >, menor que <, maior ou igual a >= e menor ou igual a <=.

Esse problema fica mais evidente ao usar a função RANKX em uma expressão DAX, em que o resultado é calculado duas vezes, resultando em números ligeiramente diferentes. Os usuários do relatório podem não notar a diferença entre os dois números, mas o resultado da classificação pode ser visivelmente impreciso. Para evitar resultados inesperados, você pode alterar o tipo de dados de coluna de Número decimal para Número decimal fixo ou Número inteiro, ou fazer um arredondamento forçado usando ROUND. O tipo de dados Número decimal fixo tem maior precisão, pois o separador decimal sempre tem quatro dígitos à direita.

Embora raros, os cálculos que somam os valores de uma coluna do tipo de dados Número decimal podem retornar resultados inesperados. Esse resultado é mais provável com colunas que têm uma grande quantidade de números positivos e de números negativos. O resultado da soma é afetado pela distribuição de valores entre as linhas na coluna.

Se um cálculo necessário somar a maioria dos números positivos antes de somar a maioria dos números negativos, a soma parcial positiva grande no início pode distorcer os resultados. Se o cálculo adicionar números positivos e negativos equilibrados, a consulta reterá mais precisão e, portanto, retornará resultados mais precisos. Para evitar resultados inesperados, você pode alterar o tipo de dados de coluna de Número decimal para Número decimal fixo ou Número inteiro.

Tipos de data/hora

O Power BI Desktop dá suporte a cinco tipos de dados de Data/Hora no Editor do Power Query. Tanto Data/Hora/Fuso Horário quanto Duração são convertidos durante a carga no modelo de dados do Power BI Desktop. O modelo dá suporte a Data/Hora, ou você pode formatar os valores como Data ou Hora de maneira independente.

  • Data/Hora representa um valor de data e um valor temporal. O valor de Data/Hora subjacente é armazenado como um tipo de Número decimal, então você pode converter entre os dois tipos. A parte de hora é armazenada como uma fração de múltiplos inteiros de 1/300 segundo (3,33 ms). O tipo de dados dá suporte a datas entre os anos 1900 e 9999.

  • Data representa apenas uma data sem parte de hora. Quando convertido para o modelo, uma Data é o mesmo que um valor de Data/Hora com zero como o valor fracionário.

  • A Hora representa apenas uma hora sem parte de data. Quando convertido para o modelo, um valor de Hora é igual a um valor de Data/Hora sem dígitos à esquerda da casa decimal.

  • Data/Hora/Fuso Horário representa uma data/hora UTC com um deslocamento de fuso horário e é convertido em Data/Hora quando carregado no modelo. O modelo do Power BI não ajusta o fuso horário com base na localização ou na localidade de um usuário. Se um valor igual a 09:00 for carregado no modelo nos EUA, ele será exibido como 09:00 sempre que o relatório for aberto ou exibido.

  • Duração representa um período de tempo, que é convertido em um tipo Número decimal quando carregado no modelo. Assim como o tipo Número decimal, você pode adicionar ou subtrair os valores de Data/Hora com resultados corretos e usar facilmente os valores em visualizações que mostram magnitude.

Tipo de texto

O tipo de dados Texto é uma cadeia de dados de caracteres Unicode, que pode ser letras, números ou datas representadas em um formato de texto. O limite máximo prático para o comprimento da cadeia de caracteres é de aproximadamente 32.000 caracteres Unicode, com base no mecanismo Power Query subjacente do Power BI e em seus limites de comprimentos de tipo de dados texto. Os tipos de dados de texto que ultrapassam o limite máximo prático provavelmente resultarão em erros.

A maneira como o Power BI armazena dados de texto pode fazer com que os dados sejam exibidos de maneira diferente em determinadas situações. As próximas seções descrevem situações comuns que podem fazer com que os dados de Texto tenham aparência ligeiramente diferente quando são consultados no Editor do Power Query e quando são carregados no Power BI.

Diferenciar maiúsculas de minúsculas

O mecanismo que armazena e consulta dados no Power BI não diferencia maiúsculas de minúsculas e trata a capitalização diferente de letras como o mesmo valor. "A" é igual a "a". No entanto, o Power Query diferencia maiúsculas de minúsculas, ou seja, "A" não é o mesmo que "a". A diferença nessa diferenciação de maiúsculas e minúsculas pode levar a situações em que os dados de texto alteram a capitalização de maneira aparentemente inexplicável após o carregamento no Power BI.

O exemplo a seguir mostra os dados do pedido: uma coluna OrderNo exclusiva para cada pedido e uma coluna Destinatário que mostra o nome do destinatário inserido manualmente no momento do pedido. O Editor do Power Query mostra vários pedidos com os mesmos nomes de Destinatário inseridos no sistema com diferentes capitalizações.

Screenshot of textual data with various capitalizations in Power Query

Depois que o Power BI carrega os dados, a capitalização dos nomes duplicados na guia Dados muda da entrada original para uma das variantes de capitalização.

Screenshot that shows the textual data with changed capitalization after loading into Power BI.

Essa alteração ocorre porque o Editor do Power Query diferencia maiúsculas de minúsculas, portanto, mostra os dados exatamente como armazenados no sistema de origem. O mecanismo que armazena dados no Power BI não diferencia maiúsculas de minúsculas, portanto, trata as versões maiúsculas e minúsculas de um caractere como idênticas. Os dados do Power Query carregados no mecanismo do Power BI podem ser alterados adequadamente.

O mecanismo do Power BI avalia cada linha individualmente quando carrega dados, começando na parte superior. Para cada coluna de texto (como Destinatário), o mecanismo armazena um dicionário de valores exclusivos para aprimorar o desempenho por meio da compactação de dados. O mecanismo vê os três primeiros valores na coluna Destinatário como exclusivos e os armazena no dicionário. Depois disso, como o mecanismo não diferencia maiúsculas de minúsculas, ele avalia os nomes como idênticos.

O mecanismo vê o nome "Taina Hasu" como idêntico a "TAINA HASU" e "TAIna HASU", portanto, ele não armazena essas variações, mas refere-se à primeira variação armazenada. O nome "MURALI DAS" aparece em letras maiúsculas, pois foi assim que o nome apareceu na primeira vez que o mecanismo o avaliou ao carregar os dados de cima para baixo.

Esta imagem ilustra o processo de avaliação:

Diagram that shows the data load process and mapping text values to a dictionary of unique values.

No exemplo acima, o mecanismo do Power BI carrega a primeira linha de dados, cria o dicionário de Destinatário e adiciona Taina Hasu a ele. O mecanismo também adiciona uma referência a esse valor na coluna Destinatário na tabela carregada. O mecanismo faz o mesmo para a segunda e terceira linhas, pois esses nomes não são equivalentes aos outros ao ignorar maiúsculas e minúsculas.

Para a quarta linha, o mecanismo compara o valor com os nomes no dicionário e localiza o nome. Como o mecanismo não diferencia maiúsculas de minúsculas, "TAINA HASU" e "Taina Hasu" são iguais. Como resultado, o mecanismo não adiciona um novo nome ao dicionário. Em vez disso, ele se refere ao nome existente. O mesmo processo ocorre para as linhas restantes.

Observação

Como o mecanismo que armazena e consulta dados no Power BI não diferencia maiúsculas de minúsculas, tome cuidado especial ao trabalhar no modo DirectQuery com uma fonte de dados que diferencia maiúsculas de minúsculas. O Power BI pressupõe que a fonte de dados tenha eliminado linhas duplicadas. Como o Power BI não diferencia maiúsculas de minúsculas, ele trata dois valores que diferem apenas por capitalização como duplicados, enquanto a fonte de dados pode não tratá-los como tal. Nesses casos, o resultado final é indefinido.

Para evitar essa situação, se você usar o modo DirectQuery com uma fonte de dados que diferencia maiúsculas de minúsculas, normalize o uso de maiúsculas e minúsculas na consulta de origem ou em um Editor do Power Query.

Espaços à esquerda e à direita

O mecanismo do Power BI corta automaticamente todos os espaços à direita que seguem dados de texto, mas não remove espaços à esquerda que precedem os dados. Para evitar confusão, ao trabalhar com dados que contêm espaços à esquerda ou à direita, você deve usar a função Text.Trim para remover espaços no início ou no final do texto. Se você não remover os espaços à esquerda, uma relação poderá falhar em ser criada devido a valores duplicados ou os visuais poderão retornar resultados inesperados.

Como um exemplo simples, carregamos dados sobre clientes: uma coluna Nome, que contém o nome do cliente, e uma coluna Índice, que é exclusiva para cada entrada. Os nomes aparecem entre aspas para maior clareza. O nome do cliente é repetido quatro vezes, mas cada vez com diferentes combinações de espaços à esquerda e à direita. Essas variações podem ocorrer com a entrada de dados manual ao longo do tempo.

Linha Espaço à esquerda Espaço à direita Nome Índice Tamanho do texto
1 Não No "Dylan Williams" 1 14
2 Não Sim "Dylan Williams " 10 15
3 Sim No " Dylan Williams" 20 15
4 Sim Sim " Dylan Williams " 40 16

No Editor do Power Query, os dados resultantes são exibidos conforme mostrado a seguir.

Screenshot of textual data with various leading and trailing spaces in Power Query Editor.

Quando você acessa a guia Dados no Power BI depois de carregar os dados, a mesma tabela se parece com a imagem a seguir, com o mesmo número de linhas de antes.

Screenshot of the same textual data after loading into Power BI returns the same number of rows as before.

No entanto, um visual baseado nesses dados retorna apenas duas linhas.

Screenshot of a table visual based on the same data returning just two lines of data.

Na imagem anterior, a primeira linha tem um valor total de 60 para o campo Índice, portanto, a primeira linha no visual representa as duas últimas linhas dos dados carregados. A segunda linha com o valor de Índice total de 11 representa as duas primeiras linhas. A diferença entre o número de linhas do visual e a tabela de dados é causada porque o mecanismo remove ou corta automaticamente os espaços à direita, mas não os espaços à esquerda. Portanto, o mecanismo avalia a primeira e a segunda linhas, e a terceira e a quarta linhas, como idênticas, e o visual retorna esses resultados.

Esse comportamento também pode causar mensagens de erro a respeito de relações porque valores duplicados são detectados. Por exemplo, dependendo da configuração das relações, você poderá ver um erro semelhante à seguinte imagem:

Screenshot of an error message about duplicate values.

Em outras situações, talvez não seja possível criar uma relação de muitos para um ou de um para um, pois são detectados valores duplicados.

Screenshot of the relationship dialog showing a 'the cardinality you selected isn't valid for this relationship' error, which is related to duplicate values being detected.

Você pode rastrear esses erros de volta para espaços à esquerda ou à direita e resolvê-los usando Recortar Texto, ou Recortar em Transformar, para remover os espaços no Editor do Power Query.

Tipo verdadeiro/falso

O tipo de dados True/false é um valor booliano de True ou False. Para obter os melhores resultados mais coerentes, ao carregar uma coluna que contém informações Boolianas (true/false) no Power BI, defina o tipo de coluna como True/False.

O Power BI converte e exibe dados de forma diferente em determinadas situações. Esta seção descreve casos comuns de conversão de valores Boolianos e como lidar com conversões que criam resultados inesperados no Power BI.

Neste exemplo, você carrega dados sobre se seus clientes se inscreveram em seu boletim informativo. Um valor TRUE indica que o cliente se inscreveu no boletim informativo, e o valor FALSE indica que o cliente não se inscreveu.

No entanto, quando você publica o relatório no serviço do Power BI, a coluna de status de inscrição do boletim informativo é exibida como 0 e -1, em vez dos valores esperados TRUE ou FALSE. As etapas a seguir descrevem como essa conversão ocorre e como impedi-la.

A consulta simplificada para essa tabela é mostrada na seguinte imagem:

Screenshot that shows columns set to Boolean.

O tipo de dados da coluna Inscrito no Boletim Informativo é definido como Qualquer e, como resultado, o Power BI carrega os dados no modelo como Texto.

Screenshot showing the data loaded into Power BI.

Quando você adiciona uma visualização simples mostrando as informações detalhadas por cliente, os dados são exibidos no visual conforme esperado, no Power BI Desktop e quando publicados no serviço do Power BI.

Screenshot of a visual that shows the data appearing as expected.

No entanto, ao atualizar o modelo semântico no serviço do Power BI, a coluna Inscrito no Boletim Informativo nos visuais exibe valores como -1 e 0, em vez de exibi-los como TRUE ou FALSE:

Screenshot of a visual that shows data appearing in an unexpected format after refresh.

Se você republicar o relatório no Power BI Desktop, a coluna Inscrito no Boletim Informativo mostrará novamente TRUE ou FALSE conforme esperado, mas uma vez que uma atualização ocorra no serviço do Power BI, os valores serão alterados novamente para mostrar -1 e 0.

A solução para garantir que isso não aconteça é definir as colunas boolianas como o tipo True/False no Power BI Desktop e republicar o relatório.

Screenshot of changing the data type of the column to True/False.

Quando você faz a alteração, a visualização mostra os valores na coluna Inscrito no Boletim Informativo de maneira ligeiramente diferente. Em vez do texto ser todas letras maiúsculas como inseridas na tabela, apenas a primeira letra é maiúscula. Essa alteração é um resultado da alteração do tipo de dados da coluna.

Screenshot of values appearing differently when you change the data type.

Depois que o tipo de dados é alterado e republicado no serviço do Power BI e quando ocorre uma atualização, os valores exibidos são True ou False, conforme esperado.

Screenshot that shows true or false values that use the True/false data type appear as expected after refresh.

Resumindo, ao trabalhar com os dados boolianos no Power BI, verifique se as colunas estão definidas como o tipo de dados True/False no Power BI Desktop.

Tipo em branco

Em branco é um tipo de dados DAX que representa e substitui nulos SQL. Você também pode gerar um elemento em branco usando a função BLANK e testar elementos em branco usando a função lógica ISBLANK.

Tipo binary

O tipo de dados Binário pode ser usado para representar quaisquer dados com um formato binário. No Editor do Power Query, você poderá usar esse tipo de dados ao carregar arquivos binários se o converter em outros tipos de dados antes de carregá-lo no modelo do Power BI.

Não há suporte para colunas binárias no modelo de dados do Power BI. A seleção de Binário existe nos menus Exibição de Dados e Exibição de Relatório por motivos herdados, mas se você tentar carregar colunas binárias no modelo do Power BI, poderá encontrar erros.

Observação

Se uma coluna binária estiver na saída das etapas de uma consulta, a tentativa de atualizar os dados por meio de um gateway poderá causar erros. Recomendamos que você remova explicitamente todas as colunas binárias como a última etapa nas consultas.

Tipo de tabela

O DAX usa um tipo de dados de tabela em muitas funções, como agregações e cálculos de inteligência de dados temporais. Algumas funções exigem uma referência a uma tabela. Outras funções retornam uma tabela que você pode usar como entrada para outras funções.

Em algumas funções que exigem uma tabela como entrada, você pode especificar uma expressão que é avaliada como uma tabela. Algumas funções exigem uma referência a uma tabela base. Para obter informações sobre os requisitos de funções específicas, confira Referência de função DAX.

Conversão implícita e explícita de tipos de dados

Cada função DAX tem requisitos específicos quanto aos tipos de dados a serem usados como entradas e saídas. Por exemplo, algumas funções exigem inteiros para alguns argumentos e datas para outros. Outras funções exigem texto ou tabelas.

Se os dados na coluna que você especificar como um argumento forem incompatíveis com o tipo de dados exigido pela função, em muitos casos, o DAX retornará um erro. No entanto, sempre que possível, o DAX tenta converter implicitamente os dados para o tipo de dados necessário.

Por exemplo:

  • Se você digitar uma data como uma cadeia de caracteres, o DAX analisará a cadeia de caracteres e tentará convertê-la para um dos formatos de data e hora do Windows.
  • Você pode adicionar TRUE + 1 e obter o resultado 2, pois TRUE é implicitamente convertido pelo DAX para o número 1 e a operação 1+1 é executada.
  • Se você adicionar valores em duas colunas e um valor for representado como texto ("12") e o outro como um número (12), o DAX converterá implicitamente a cadeia de caracteres em um número e, em seguida, fará a adição para chegar a um resultado numérico. A expressão = "22" + 22 retorna 44.
  • Se você tentar concatenar dois números, o DAX os apresentará como cadeias de caracteres e os concatenará. A expressão = 12 e 34 returna "1234".

Tabela de conversões implícitas de dados

O operador determina o tipo de conversão que o DAX executa convertendo os valores necessários antes de fazer a operação solicitada. As tabelas a seguir listam os operadores e a conversão que o DAX realiza em cada tipo de dados quando ele é emparelhado com o tipo de dados na célula de interseção.

Observação

Essas tabelas não incluem o tipo de dados Texto. Quando um número é representado em um formato de texto, em alguns casos o Power BI tenta determinar o tipo de número e representar os dados como um número.

Adição (+)

INTEGER CURRENCY real Data/hora
INTEGER INTEGER CURRENCY real Data/hora
CURRENCY CURRENCY CURRENCY real Data/hora
REAL real real real Data/hora
Data/hora Data/hora Data/hora Data/hora Data/hora

Por exemplo, se uma operação de adição usa um número real em combinação com os dados de moeda, os dois valores são convertidos pelo DAX em REAL e o resultado é retornado como REAL.

Subtração (-)

Na tabela a seguir, o cabeçalho da linha é o minuendo (lado esquerdo) e o cabeçalho da coluna é o subtraendo (lado direito).

INTEGER CURRENCY real Data/hora
INTEGER INTEGER CURRENCY real real
CURRENCY CURRENCY CURRENCY real real
REAL real real real real
Data/hora Data/hora Data/hora Data/hora Data/hora

Por exemplo, se uma operação de subtração usa uma data com qualquer outro tipo de dados, ambos os valores são convertidos pelo DAX em datas e o valor retornado também é uma data.

Observação

Os modelos de dados são compatíveis com o operador unário, - (negativo), mas esse operador não altera o tipo de dados do operando.

Multiplicação (*)

INTEGER CURRENCY real Data/hora
INTEGER INTEGER CURRENCY real INTEGER
CURRENCY CURRENCY real CURRENCY CURRENCY
REAL real CURRENCY real real

Por exemplo, se uma operação de multiplicação combina um inteiro com um número real, os dois números são convertidos pelo DAX em números reais, e o valor retornado também é REAL.

Divisão (/)

Na tabela a seguir, o cabeçalho da linha é o numerador e o cabeçalho da coluna é o denominador.

INTEGER CURRENCY real Data/hora
INTEGER real CURRENCY real real
CURRENCY CURRENCY real CURRENCY real
REAL real real real real
Data/hora real real real real

Por exemplo, se uma operação de divisão combina um inteiro com um valor de moeda, os dois valores são convertidos pelo DAX em números reais e o resultado também é um número real.

Operadores de comparação

Em expressões de comparação, o DAX considera valores boolianos maiores que valores de cadeia de caracteres e valores de cadeia de caracteres maiores que valores numéricos ou de data/hora. Números e valores de data/hora têm a mesma classificação.

O DAX não faz nenhuma conversão implícita para valores boolianos ou de cadeia de caracteres. BLANK ou um valor em branco é convertido em 0, "" ou False, dependendo do tipo de dados do outro valor comparado.

As seguintes expressões DAX ilustram esse comportamento:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") retorna "A expressão é verdadeira".

  • =IF("12">12,"Expression is true", "Expression is false") retorna "A expressão é verdadeira".

  • =IF("12"=12,"Expression is true", "Expression is false") retorna "A expressão é falsa".

O DAX faz conversões implícitas para tipos numéricos ou de data/hora, como descrito na seguinte tabela:

Comparação
Operador
INTEGER CURRENCY real Data/hora
INTEGER INTEGER CURRENCY real real
CURRENCY CURRENCY CURRENCY real real
REAL real real real real
Data/hora real real real Date/time

Elementos em branco, cadeias de caracteres vazias e valores zero

No DAX, um valor nulo, em branco, uma célula vazia ou um valor ausente são representados pelo mesmo tipo novo de valor, um BLANK. Você também pode gerar espaços em branco com o uso da função BLANK, ou testar se há espaços em branco com o uso da função ISBLANK.

O modo como os elementos em branco são tratados em operações como adição ou concatenação depende da função individual. A tabela a seguir resume as diferenças entre como as fórmulas DAX e do Microsoft Excel tratam os elementos em branco.

Expression DAX Excel
BLANK + BLANK BLANK 0 (zero)
BLANK + 5 5 5
BLANK * 5 BLANK 0 (zero)
5/BLANK Infinity Erro
0/BLANK NaN Error
BLANK/BLANK BLANK Erro
FALSE OR BLANK FALSE FALSE
FALSE AND BLANK FALSE FALSE
TRUE OR BLANK TRUE TRUE
TRUE AND BLANK FALSE TRUE
BLANK OR BLANK BLANK Erro
BLANK AND BLANK BLANK Erro

Você pode fazer de tudo com o Power BI Desktop e os dados. Para saber mais sobre as funcionalidades do Power BI, confira os seguintes recursos: