Quem nunca teve algum problema em trabalhar com horas no Power BI? Pois é, apesar de parecer simples, esta pode ser uma das principais causas de dúvidas no início de sua jornada na confecção de dashboards e outros relatórios gerenciais.
Neste arquivo ensinaremos a trabalhar com horas no Power BI tanto utilizando DAX como no tratamento dos dados no Editor de Consultas. Escolha a melhor forma para você e utilize no seu dia a dia. Abaixo estão estas formas.
O primeiro passo para solução deste problema pode ser logo após a importação dos dados. Você precisa refletir sobre os dados que serão necessários na confecção de seu relatório. Será necessário analisar apenas os DIAS ou as HORAS também são importantes? Caso apenas os dias sejam importantes, deve ser considerado o tipo de dado como DATA (1). Somente se as informações de dia e hora sejam importantes, é que deve ser categorizado o tipo de dados como DATA/HORA (2).
BOA PRÁTICA: Tome como boa prática sempre que possível tipificar corretamente suas colunas para que haja a maior eficiência possível nas etapas aplicadas. Colocando o tipo de dados correto, melhora-se o desempenho de sua consulta. Também fica mais organizado quando houver a necessidade de procurar por erros.
ENTENDA COMO FUNCIONA POR DENTRO: para o cálculo das datas e horas as informações são calculadas através de um número serial (XX,XXXXXXX) e que as datas (DD/MM/YYYY hh:mm:ss) são estes números seriais transformados.
O próximo passo é realizar a manipulação dos dados.
Para trabalhar com horas no Power BI pode-se seguir através seguintes abordagens:
Trabalhar com horas no Power BI – Atividades que iniciam e terminam no mesmo dia.
É possível utilizar a subtração entre colunas com as colunas desejadas. Veja que no ponto 1 é observado a diferença de horas corretamente, entretanto o programa não reconhece quando se trata de diferença de horas entre dias diferentes no ponto 2.
1 |
Horas Simples = fdatas[Término Expediente] - fdatas[Início Expediente] |
Agora atividades que iniciam e terminam em dias diferentes.
Para realizar a subtração entre datas de dias diferentes podemos seguir por 2 caminhos:
Não preciso ser exato na quantidade de dias e suas frações. É retornado o valor arredondado para baixo 0 = 0,5 < ; 1 = 0,5>.
Nos exemplos abaixo fazemos com DAX por meio de colunas calculadas (Nova Coluna). Utilizamos aqui, para trabalhar com horas no Power BI a função DATEDIFF.
1 2 |
Nova Coluna Diferença de Dias = DATEDIFF ( fdatas[Início Expediente]; fdatas[Término Expediente]; DAY ) |
1 2 |
Nova Coluna Diferença de Horas = DATEDIFF ( fdatas[Início Expediente]; fdatas[Término Expediente]; HOUR ) |
Com resultado temos o seguinte:
É necessário valores precisos como resultado do cálculo! Temos 2 opções:
DAX
Veja dois exemplos em DAX abaixo, também em forma de colunas calculadas.
1 2 |
Diferença em DIAS = 1 * ( fdatas[Término Expediente] - fdatas[Início Expediente] ) |
1 2 |
Diferença em HORAS = 24 * ( fdatas[Término Expediente] - fdatas[Início Expediente] ) |
Power Query
Primeiro uma forma para fazer em DIAS:
- Selecione a coluna com a data mais recente [Início Expediente]
- Selecione a coluna com a data mais antiga [Término Expediente]
- Adicionar Coluna -> Hora -> Subtrair
- Será gerado a coluna SUBTRAÇÃO, que são os Dias no formato serial.
Para fazer a diferença tendo HORAS como resultado siga os passos abaixo:
- Adicionar Coluna -> Coluna Personalizada
- Defina o nome da coluna
- Digite no campo a seguinte fórmula = [Subtração] * 24
- OK
Depois de feito tudo clique e Fechar e Aplicar. As colunas [Subtração] e [Subtração Horas] serão apresentadas no formato serial.
Pronto! Agora você está apto trabalhar com horas no Power BI de várias formas.
Assim poderá criar medidas e gerar insights de seus projetos ou atividades! Lembre-se que este cálculo considerará como dias corridos e não dias úteis.
Fácil né! À primeira vista pode não parecer, mas logo ficar fácil trabalhar com horas no Power BI, usando uma destas formas apresentadas.
Você achou nossos métodos úteis? Tem alguma outra maneira para trabalhar com horas no Power BI? Deixe-nos saber na seção de comentários abaixo.