• Início

  • Soluções

    • Advanced Analytics e IA
    • Database
    • Development
    • Cloud Solutions
  • Cursos

  • Carreira

    • Acelera Jovem
  • Comunidade

  • Blog

  •  

    Use tab to navigate through the menu items.
    Para ver como funciona, vá para o seu site online.
    • Todos os posts
    • Categorias
    • Meus Posts
    dataside
    03 de mai.

    Como Criar medida que apresente Dias, Horas, Minutos e Segundos.

    em A.I. e Machine Learning


    Como vocês sabem, na #Dataside amamos compartilhar conhecimento, então o Rafael Bezerra escreveu um artigo especial para explicar melhor sobre como criar medida que apresente Dias, Horas, Minutos e Segundos. Boa leitura!


    Olá Gente, há algum tempo tive a necessidade de desenvolver uma medida que apresentasse Dias, Horas, Minutos e Segundos. Quando concluí, achei interessante compartilhar tal conhecimento com vocês!


    Então, vamos estudar como criá-la?


    1. Para não estender muito essa postagem, já trago o cálculo de horas em formato decimal.

    Nossa coluna explorada foi a [Tempo Dec]


    2. No nosso exemplo, a Medida criada para apresentar somente horas reflete um total de:




    3. Vamos a Prática!

    Precisei adaptar a lógica e extrair os dias, transformando a apresentação da informação do seguinte modo:

    A Medida foi desenvolvida por meio de variáveis e, possui 05 blocos de desenvolvimento, vamos comentá-los:


    Bloco 1: Extrair o inteiro da hora que está em formato [Tempo Decimal].


    VAR Vl = SUM ( fDados[Tempo Dec] ) • realizando a soma total do tempo


    VAR vHr = INT(Vl)


    1. reservando apenas o inteiro da soma do tempo, que é a “hora”


    Com a Variável vHr tempos o total de Horas


    Bloco 2: Extrair os Segundos de Horas da diferença decimal do tempo [Vl] e calcular os Minutos e Segundos, posteriormente obter o total em horas


    VAR vSegHora = (Vl-vHr)*3600


    1. Reservamos a diferença decimal do tempo [Vl] e o inteiro da hora [vHr] e depois multiplicar por 3600 segundos que equivale a 1 hora.


    VAR vMinDec = Divide(vSegHora,60)


    1. Como já temos a hora em segundos, precisamos extrair os minutos. Portanto, dividimos por 60, pois 01 hora possui 60 minutos.


    VAR vMin = INT(vMinDec)


    1. Agora que já temos os Minutos em modo decimal, precisamos reservar o inteiro dele, que será nosso minutos.


    VAR vSegDec = (vMinDec-vMin)*60


    1. Nesse cálculo, vamos obter a diferença dos minutos decimais e o seu inteiro para extrair os segundos.



    VAR vSeg = ROUND ( vSegDec, 0 )


    1. Por último, vamos reservar o arredondamento dos Segundos da nossa


    Com o bloco 1 e bloco 2 temos o total de horas




    Bloco 3: Nesse bloco, iremos calcular os dias


    VAR vDiasDec = DIVIDE(vHr,24)


    1. Para obter os dias, chamamos a variável [vHr], construída no bloco 1, que são as horas por inteiro e dividimos por 24, que é o total de horas em um dia.


    VARdd = IF(vHr>=24, INT(vDiasDec), 0)


    1. Usamos o a Função IF, para extrair os dias inteiros, onde:

    2. Se vHr>=24, termos 1 dia ou mais. Então, extrairmos os dias com função [INT(vDiasDec)]

    3. Se não for, significa que é menor que 24 horas. Então, significa que não haverá dias somente horas, portanto pedimos que retorne 0.


    Essa variável é o pulo do Gato!


    Bloco 4: Nesse bloco, iremos calcular as Horas.


    VAR hh = INT((vDiasDec-dd)*24)


    1. Vamos calcular a nossa hora, pegando o inteiro da diferença de [vDiasDec] pelo resultado da variavel [dd] multiplicando 24 horas.


    Bloco 5: Chegamos no Final, já temos todos os cálculos necessário.


    E Rafael, o que é preciso agora?