Function Library

DAX

Tipos de Dados DAX

Tipos de dados do modelo tabular e como o DAX os converte.

8 tipos de dados

  • Binary

    Dados binários brutos (imagens, arquivos) — usado internamente, raramente manipulado diretamente em fórmulas DAX.

    Boas práticas: Não é um tipo para uso comum em medidas/colunas calculadas — aparece principalmente em cenários de importação de imagem/arquivo.

  • Boolean

    Valor lógico TRUE ou FALSE.

    Boas práticas: Resultado natural de expressões de comparação (=, >, <, etc.) e de funções lógicas (AND, OR, NOT).

  • Currency

    Número de ponto fixo com exatamente 4 casas decimais, otimizado para valores monetários (também chamado de Fixed Decimal Number).

    Boas práticas: Use quando precisão decimal exata for crítica (ex.: cálculos financeiros regulatórios) — evita os artefatos de arredondamento do tipo Double.

  • DateTime

    Armazena data e hora como um número de ponto flutuante — a parte inteira é o número de dias desde 30/12/1899, a fracionária é a hora do dia.

    Boas práticas: Ao formatar, prefira funções DAX de data (YEAR, MONTH, FORMAT) a manipular o número serial diretamente.

  • Decimal

    Número de ponto fixo com até 17 dígitos significativos — o tipo numérico padrão do DAX para a maioria dos cálculos.

    Boas práticas: Prefira Decimal a Double para valores monetários e métricas de negócio — evita erros de arredondamento de ponto flutuante binário.

  • Integer

    Número inteiro de 64 bits, sem casas decimais.

    Boas práticas: Tipo mais eficiente para chaves, contagens e IDs — menor uso de memória no VertiPaq que Decimal/Double.

  • Text (String)

    Cadeia de caracteres Unicode.

    Boas práticas: Evite comparações de texto sensíveis a acentuação/maiúsculas sem normalizar — DAX é case-insensitive por padrão em comparações de texto.

  • Variant

    Tipo que pode conter qualquer um dos outros tipos, resolvido em tempo de avaliação — usado internamente pelo motor DAX, não declarável diretamente por nome em uma coluna.

    Boas práticas: Aparece como o tipo de retorno de funções como SWITCH ou IF quando os ramos retornam tipos diferentes — evite depender disso, mantenha os ramos com o mesmo tipo de retorno quando possível.