Num Modelo de Dados, cada coluna tem um tipo de dados associado que especifica o tipo de dados que a coluna pode conter: números inteiros, números decimais, texto, dados monetários, datas e horas, entre outros. O tipo de dados também determina os tipos de operações que pode fazer na coluna e a memória que precisa para armazenar os valores na coluna.

Se estiver a utilizar o Power Pivot de Dados, pode alterar o tipo de dados de uma coluna. Poderá ter de fazer isto se uma coluna de data tiver sido importada como uma cadeia, mas precisar que seja outra coisa. Para obter mais informações, consulte Definir o tipo de dados de uma colunaPower Pivot.

Neste artigo

Resumo dos tipos de dados

A tabela seguinte lista tipos de dados suportados num Modelo de Dados. Quando importa dados ou utiliza um valor numa fórmula, mesmo que a origem de dados original contenha um tipo de dados diferente, os dados são convertidos num destes tipos de dados. Os valores resultantes de fórmulas também utilizam estes tipos de dados.

Tipo de dados em Excel

Tipo de dados em DAX

Descrição

Número Inteiro

Um valor inteiro de 64 bits (oito bytes) 1, 2

Números que não têm casas decimais. Os números inteiros podem ser números positivos ou negativos, mas têm de ser números inteiros entre -9.223.372.036.854.775.808 (-2^63) e 9.223.372.036.854.775.807 (2^63-1).

Número Decimal

Um número real de 64 bits (oito bytes) real 1, 2

Os números reais são números que podem ter casas decimais. Os números reais abrangem uma vasta gama de valores:

Valores negativos de -1,79E+308 até -2,23E -308

Zero

Valores positivos de 2,23E -308 a 1,79E + 308

No entanto, o número de algarismos significativos está limitado a 15 dígitos decimais.

VERDADEIRO/FALSO

booleano

Um valor Verdadeiro ou Falso.

Texto

Cadeia

Uma cadeia de dados de carateres Unicode. Podem ser cadeias, números ou datas representadas num formato de texto.

O comprimento máximo da cadeia é 268.435.456 carateres Unicode (256 carateres mega) ou 536.870.912 bytes.

Data

Data/hora

Datas e horas numa representação de data-hora aceite.

As datas válidas são todas as datas posteriores a 1 de janeiro de 1900.

Moeda

Moeda

O tipo de dados Moeda permite valores entre -922.337.203.685.477,5808 e 922.337.203.685.477,5807 com quatro dígitos decimais de precisão fixa.

N/D

Em branco

Um tipo de dados em branco é um tipo de dados do DAX que representa e substitui SQL nulos. Pode criar um espaço em branco com a função EM BRANCO e testar se existe um valor em branco ao utilizar a função lógica É.CÁL.VAZIA.

1 As fórmulas do DAX não suportam tipos de dados inferiores aos listados na tabela.

2 Se tentar importar dados com valores numéricos muito grandes, a importação poderá falhar com o seguinte erro:

Erro na base de dados na memória: a coluna "<nome da coluna>" da tabela "<nome da tabela>" contém um valor, "1,7976931348623157e+308", o que não é suportado. A operação foi cancelada.

Este erro ocorre porque Power Pivot utiliza esse valor para representar valores nulos. Os valores na seguinte lista são sinónimos do valor nulo:

Valor

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Remova o valor dos seus dados e tente importar novamente.

Tipo de Dados da Tabela

O DAX utiliza um tipo de dados de tabela em muitas funções, como agregações e cálculos de análise de tempo. Algumas funções necessitam de uma referência a uma tabela; outras funções devolvem uma tabela que pode ser utilizada como entrada para outras funções. Em algumas funções que necessitam de uma tabela como entrada, pode especificar uma expressão que seja avaliada como uma tabela; para algumas funções, é necessária uma referência a uma tabela base. Para obter informações sobre os requisitos de funções específicas, consulte Referência de Funções DAX.

Conversão de tipo de dados implícita e explícita em fórmulas DAX

Cada função do DAX tem requisitos específicos quanto aos tipos de dados utilizados como entradas e saídas. Por exemplo, algumas funções necessitam de valores inteiros para alguns argumentos e datas para outras; outras funções requerem texto ou tabelas.

Se os dados na coluna que especificar como argumento não for compatíveis com o tipo de dados exigido pela função, o DAX em muitos casos devolverá um erro. No entanto, sempre que possível, o DAX tentará converter implicitamente os dados para o tipo de dados necessário. Por exemplo:

  • Pode escrever uma data como uma cadeia e o DAX irá analisar a cadeia e tentar elevá-la como um dos formatos de data Windows e hora.

  • Pode adicionar VERDADEIRO + 1 e obter o resultado 2, porque VERDADEIRO é convertido implicitamente no número 1 e é executada a operação 1+1.

  • Se adicionar valores em duas colunas e um valor for representado como texto ("12") e o outro como um número (12), o DAX converte implicitamente a cadeia num número e, em seguida, faz a adição de um resultado numérico. A seguinte expressão devolve 44: = "22" + 22

  • Se tentar concatenar dois números, o Excel irá apresentá-los como cadeias e, em seguida, concatenar. A seguinte expressão devolve "1234": = 12 & 34

A tabela seguinte resume as conversões de tipos de dados implícitas que são efetuadas em fórmulas. Excel efetua conversões implícitas sempre que possível, conforme necessário na operação especificada.

Tabela de Conversões de Dados Implícitas

O tipo de conversão efetuada é determinado pelo operador, que apresenta os valores necessários antes de executar a operação pedida. Estas tabelas indicam os operadores e indicam a conversão que é efetuada em cada tipo de dados na coluna quando é emparelhado com o tipo de dados na linha de interseção.

Nota: Os tipos de dados de texto não são incluídos nestas tabelas. Quando um número é representado como num formato de texto, em alguns Power Pivot tentará determinar o tipo de número e representá-lo como um número.

Adição (+)

Operador (+)

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 for utilizado um número real numa operação de adição em combinação com dados monetários, ambos os valores são convertidos em REAL e o resultado é devolvido como REAL.

Subtração (-)

Na tabela seguinte, o cabeçalho da linha é o sinal de subtração (lado esquerdo) e o cabeçalho da coluna é a subtração (lado direito).

Operador (-)

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 for utilizada uma data numa operação de subtração com outro tipo de dados, ambos os valores são convertidos em datas e o valor devolto também é uma data.

Nota: Os modelos de dados também suportam o operador unário, - (negativo), mas este operador não altera o tipo de dados do operando.

Multiplicação (*)

Operador (*)

INTEGER

CURRENCY

REAL

Data/hora

INTEGER

INTEGER

CURRENCY

REAL

INTEGER

CURRENCY

CURRENCY

REAL

CURRENCY

CURRENCY

REAL

REAL

CURRENCY

REAL

REAL

Por exemplo, se um número inteiro for combinado com um número real numa operação de multiplicação, ambos os números são convertidos em números reais e o valor devolvido também é REAL.

Divisão (/)

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

Operador (/)

(Linha/Coluna)

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 um número inteiro for combinado com um valor monetário numa operação de divisão, ambos os valores são convertidos em números reais e o resultado é também um número real.

Operadores de comparação

Em expressões de comparação Os valores booleanos são considerados maiores do que os valores de cadeia e os valores de cadeia são considerados maiores do que os valores numéricos ou de data/hora; Números e valores de data/hora são considerados como estando na mesma posição. Não são efetuadas conversões implícitas para valores Booleanos ou de cadeias; EM BRANCO ou um valor em branco é convertido em 0/"/falso, dependendo do tipo de dados do outro valor comparado.

As seguintes expressões DAX ilustram este comportamento:

=SE(FALSO()>"verdadeiro";"Expressão é verdadeira"; "Expressão é falsa"), devolve "Expressão é verdadeira"

=SE("12">12;"A expressão é verdadeira"; "Expressão é falsa"), devolve "Expressão é verdadeira".

=SE("12"=12,"Expressão é verdadeira", "Expressão é falsa"), devolve "Expressão é falsa"

As conversões são efetuadas implicitamente para tipos numéricos ou de data/hora, conforme descrito na seguinte tabela:

Operador de comparação

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

Data/hora

Início da Página

Tratar de linhas em branco, cadeias vazias e valores zero

No DAX, um valor nulo, em branco, uma célula vazia ou um valor em falta são todos representados pelo mesmo novo tipo de valor, um VALOR EM BRANCO. Também pode gerar espaços em branco ao utilizar a função EM BRANCO ou testar se existe um valor em branco ao utilizar a função É.VAZIO.

A forma como os espaços em branco são tratados em operações, como adição ou concatenação, depende da função individual. A seguinte tabela resume as diferenças entre DAX e Microsoft Excel, da forma como os espaços em branco são tratados.

Expressão

DAX

Excel

EM BRANCO + EM BRANCO

EM BRANCO

0 (zero)

EM BRANCO +5

5

5

EM BRANCO * 5

EM BRANCO

0 (zero)

5/EM BRANCO

Infinito

Erro

0/EM BRANCO

NaN

Erro

EM BRANCO/EM BRANCO

EM BRANCO

Erro

FALSO OU EM BRANCO

FALSE

FALSE

FALSO E EM BRANCO

FALSE

FALSE

VERDADEIRO OU EM BRANCO

TRUE

TRUE

VERDADEIRO E EM BRANCO

FALSO

VERDADEIRO

EM BRANCO OU EM BRANCO

EM BRANCO

Erro

EM BRANCO E EM BRANCO

EM BRANCO

Erro

Para obter detalhes sobre como uma determinada função ou operador lida em branco, consulte os tópicos individuais para cada função DAX na secção Referência de Funções DAX.

Início da Página

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft Office insiders

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×