Tipos de Dados em Modelos de Dados

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

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, etc. O tipo de dados também determina os tipos de operações que pode efetuar na coluna e a quantidade de memória utilizada para armazenar os valores na coluna.

Se estiver a utilizar o suplemento PowerPivot, pode alterar o tipo de dados de uma coluna. Poderá ter de efetuar esta ação se uma coluna de data tenha sido importada como uma cadeia, mas tem de ser outra coisa. Para mais informações, consulte o artigo configurar o tipo de dados de uma coluna no PowerPivot.

Neste artigo

Resumo dos tipos de dados

Tipo de Dados de Tabela

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

Tabela de Conversões Implícitas de Dados

Adição (+)

Subtração (-)

Multiplicação (*)

Divisão (/)

Operadores de comparação

Tratamento de valores em branco, cadeias vazias e valores de zero

Resumo dos tipos de dados

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

Tipos de dados no Excel

Tipos de dados no DAX

Descrição

Número Inteiro

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

Números sem casas decimais. Os números inteiros podem ser 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) 1, 2

Os números reais são números que podem ter casas decimais. Os números reais abrangem um grande intervalo de valores:

Valores negativos entre -1,79E +308 e -2,23E -308

Zero

Valores positivos entre 2,23E -308 e 1,79E + 308

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

TRUE/FALSE

Booleano

Um valor True ou False.

Texto

Cadeia

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

A cadeia de comprimento máxima é 268.435.456 carateres Unicode (256 mega carateres) ou 536.870.912 bytes.

Data

Data/hora

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

Os valores válidos são todas as datas após 1 de janeiro de 1900.

Moeda

Moeda

O tipo de dados de 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

Valor em branco

Um valor em branco é um tipo de dados do DAX que representa e substitui nulos de SQL. É possível criar um valor em branco utilizando a função BLANK e testar a presença de valores em branco utilizando a função lógica ISBLANK.

1 As fórmulas do DAX não suportam tipos de dados menores que os listados na tabela.

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

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

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

Valor

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Remova o valor dos dados e tente importar novamente.

Tipo de Dados de Tabela

Em muitas funções, tais como agregações e cálculos de análise de tempo, o DAX utiliza um tipo de dados de tabela. Algumas funções requerem uma referência a uma tabela; outras funções devolvem uma tabela que pode ser utilizada, em seguida, como entrada para outras funções. Algumas funções que necessitam de uma tabela como entrada, pode especificar uma expressão avaliada como a 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 o artigo Referência de funções DAX.

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

Cada função do DAX tem necessidades específicas relativas aos tipos de dados utilizados como entradas e saídas. Por exemplo, algumas funções necessitam de números inteiros para alguns argumentos e datas para outros; outras funções necessitam de texto ou tabelas.

Se os dados existentes na coluna especificada como argumento forem incompatíveis com o tipo de dados de que a função necessita, o DAX irá devolver um erro em muitos casos. No entanto, sempre que for possível o DAX tentará converter implicitamente os dados no tipo de dados necessário. Por exemplo:

  • Pode introduzir uma data como uma cadeia; o DAX irá analisar a cadeia e tentará convertê-la num dos formatos de data e hora do Windows.

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

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

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

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

Tabela de Conversões Implícitas de Dados

O tipo de conversão efetuado é determinado pelo operador, que converte os valores de que necessita antes de efetuar a operação pedida. Estas tabelas listam os operadores e indicam a conversão que é efetuada em cada tipo de dados da coluna quando emparelhado com o tipo de dados na coluna que a interseta.

Nota: Os tipos de dados de texto não estão incluídos nestas tabelas. Quando um número é representado num formato de texto, o PowerPivot irá tentar, em alguns casos, 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 de moeda, ambos os valores são convertidos em REAL e o resultado é devolvido como REAL.

Subtração (-)

Na tabela seguinte, o cabeçalho da coluna é o diminuendo (lado esquerdo) e o cabeçalho da coluna é o subtraendo (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 uma data for utilizada numa operação de subtração com qualquer outro tipo de dados, ambos os valores são convertidos em datas e o valor devolvido 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 coluna é o numerador e o cabeçalho da coluna é o denominador.

Operador (/)

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 de moeda 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

Nas expressões de comparação, os valores Booleanos são considerados maiores que os valores de cadeia e os valores de cadeia são considerados maiores que os valores numéricos ou de data/hora; os números e os valores de data/hora são considerados como tendo a mesma classificação. Não são efetuadas conversões implícitas para valores Booleanos ou de cadeia; BLANK ou um valor em branco é convertido em 0/""/false, dependendo do tipo de dados do outro valor comparado.

As expressões seguintes do DAX ilustram este comportamento:

= Se ((FALSO) > "true", "A expressão for verdadeira", "A expressão for falsa") devolve "Expressão for verdadeira"

= IF("12">12,"Expression is true", "Expression is false"), devolve "Expressão for verdadeira".

= IF("12"=12,"Expression is true", "Expression is false"), devolve "Expressão for falsa"

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

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

Tratamento de valores em branco, cadeias vazias e valores de zero

No DAX, um nulo, um valor em branco, uma célula vazia ou uma célula em falta são todos representados pelo mesmo tipo de valor novo, BLANK. Também é possível gerar valores em branco utilizando a função BLANK ou testar a presença de valores em branco utilizando a função ISBLANK.

O modo como os valores em branco são processados em operações, tais como a adição ou a concatenação, depende da função individual. A tabela seguinte resume as diferenças entre as fórmulas do DAX e do Microsoft Excel, no que respeita ao modo como os valores em branco são tratados.

Expressão

DAX

Excel

BRANCO + BRANCO

BRANCO

0 (zero)

BRANCO +5

5

5

BRANCO * 5

BRANCO

0 (zero)

5/BRANCO

Infinito

Erro

0/BRANCO

NaN

Erro

BRANCO/BRANCO

BRANCO

Erro

FALSO OU BRANCO

FALSE

FALSE

FALSO E BRANCO

FALSE

FALSE

VERDADEIRO OU BRANCO

TRUE

TRUE

VERDADEIRO E BRANCO

FALSE

TRUE

BRANCO OU BRANCO

BRANCO

Erro

BRANCO E BRANCO

BRANCO

Erro

Para obter detalhes sobre como uma função ou operador específico trata os valores em branco, consulte os tópicos individuais para cada função do DAX na secção, Referência de funções DAX.

Início da Página

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×