Anúncio

quarta-feira, 25 de julho de 2018

Tipos de dados no Power BI Desktop


Ao trabalhar com Business Intelligence é muito importante entender alguns conceitos básicos para que você possa lidar com algumas situações corriqueiras que ocorrem quando se trabalha com fontes de dados distintas e acaba tendo que fazer elas se “conversarem”.

Um ponto importante é a tipificação de dados, ou seja, o dado que está armazenado em um campo de um banco de dados precisa ter um tipo específico e um tamanho informado. Por exemplo em um banco SQL Server podemos ter uma tabela com um campo chamado ID com o tipo de dados nchar(10) “texto de tamanho 10”, um outro dado pode estar no banco MySQL em uma tabela com um campo ID mas o tipo de dado é INT “Número inteiro”.  Ao tentar relacionar estes campos você pode não conseguir o resultado esperado.

Quando você carrega dados no Power BI Desktop, ele tentará converter o tipo de dados da coluna de origem em um tipo de dados que ofereça suporte a armazenamento, cálculos e visualização de dados mais eficientes. Por exemplo, se uma coluna de valores importados do Excel não tiver valores fracionários, o Power BI Desktop converterá toda a coluna de dados em um tipo de dados Number, que é mais adequado para armazenar inteiros.

Esse conceito é importante porque algumas funções DAX (Data Analysis Expressions) possuem requisitos especiais de tipo de dados. Embora em muitos casos o DAX converta implicitamente um tipo de dados para você, existem alguns casos em que não. Por exemplo, se uma função DAX exigir um tipo de dados date e o tipo de dados para sua coluna for Text, a função DAX não funcionará corretamente. Portanto, é importante e útil obter o tipo de dados correto para uma coluna.
No Power BI Desktop, você pode especificar o tipo de dados para uma coluna no Editor de Consultas ou no Modo de Exibição de Dados ou no Modo de Exibição de Relatórios:
 

A lista suspensa Tipo de dados no Editor de Consultas possui dois tipos de dados que não estão presentes atualmente em Dados ou Exibição de Relatório: Data / Hora / Fuso Horário e Duração . Quando uma coluna com esses tipos de dados é carregada no modelo e visualizada na exibição Dados ou Relatório, uma coluna com um tipo de dados Data / Hora / Fuso Horário será convertida em uma Data / Hora e uma coluna com um tipo de dados Duração será convertida em um número decimal.


Tipos Numéricos:
  • Decimal - Número de ponto flutuante de 64 bits. Além de números fracionários este tipo também suporta números inteiros. Este tipo suporta até 15 dígitos e o separador decimal pode aparecer em qualquer parte do número.
  • Decimal fixo - O separador decimal é fixo  e possui 4 dígitos à direita e 19 dígitos de significância. Se você trabalha ou trabalhou com o SQL Server você pode fazer referência ao tipo de dado Decimal (19,4) ou no Power Pivot o tipo de dado moeda também funciona da mesma forma.
  • Inteiro - valor inteiro de 64 bits, permite 19 dígitos.

Tipos de Data / Hora:
  • Data / Hora - Por de trás da mascara este dado é armazenado como um número decimal, então é possível efetuar conversões entre os dois tipos. São permitidas datas entre os anos de 1900 a 9999.
  • Data - Funciona como Data/Hora mas sem a parte do tempo, o valor fracionário do número decimal fica zero.
  • Tempo -  Funciona de forma invertida ao tipo Data, pois o valor à esquerda da casa decimal ficam zerados, armazenando apenas o horário.
  • Data/Hora/Fuso horário - Data/Hora UTC. Hoje este valor é convertido em Data/Hora no carregamento do modelo.
  • Duração - Representa um período de tempo. o dado armazenado é convertido em número decimal no momento do carregamento do modelo, inclusive por este motivo ele pode ser adicionado ou subtraído de um campo Data/Hora sem problemas.
Tipo Texto:
  • Texto - Cadeia de caracteres Unicode. O comprimento máximo da string é de 268.435.456 caracteres Unicode (256 mega caracteres).
Tipo Booleano:
  • Verdadeiro / Falso - Valor booleano.
Tipo Nulo:
  • Em branco - Tipo de dado utilizado em DAX que representa os nulos do SQL. Existe a função BLANK que cria um espaço em branco, e existe uma outra função ISBLANK que é utilizada para testar espaços em branco.

Em outra oportunidade vamos falar sobre conversão de dados. Bons estudos!


Nenhum comentário:

Postar um comentário