Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Dúvida no Power BI

Bom dia!

Gostaria de saber se um problema meu tem solução. Estou com um projeto e preciso contabilizar o tempo que um atendimento passa em cada setor. Na empresa, tenho um protocolo com mais de um atendimento atrelado ao mesmo protocolo (quando o atendimento é encaminhado para outro setor, muda o número do atendimento mas permanece com o mesmo protocolo). Na descrição do atendimento, mostra o que foi feito, se foi aberto, encerrado, capturado, etc. Pensei em contabilizar da seguinte maneira: inicia no abertura do atendimento e termina em atendimento encerrado (conta o tempo), ai contabiliza de atendimento capturado até encerrado novamente (conta um novo tempo), e assim por diante.

Fiz um DAX mas ele tá com problemas, não contabiliza todo o tempo de todos os atendimento (só tá contando para um dos atendimentos dentro do protocolo), geralmente o último atendimento. E quando coloco em uma cartão, tá retornando em branco. Porque além de precisar contabilizar por atendimento e protocolo, tenho que contabilizar o total do setor.

Em anexo vou colocar print do exemplo dos dados e da medida.

Se alguém tiver uma ideia, agradeço.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oii, Bianca! Tudo bem?

Obrigada por compartilhar sua dúvida com a gente!

Bianca, como se trata de um projeto pessoal, externo ao curso, no qual eu não tenho todo o contexto, consigo apenas te sugerir algumas soluções para você realizar os testes em seu ambiente. Vamos lá!

Dito isso, a medida DAX que você criou está somando os segundos de diferença apenas para um atendimento por protocolo, e isso pode estar sendo ocasionado porque está utilizando as funções SELECTEDVALUE que retornam um único valor.

Para calcular a duração total de cada atendimento, você precisa iterar sobre cada atendimento relacionado ao mesmo protocolo e somar as diferenças de tempo entre os eventos de abertura e encerramento.

Como sugestão, te indico testar a função SUMX com uma tabela filtrada que contém apenas os atendimentos relevantes para cada protocolo.

Aqui está um exemplo de como você poderia realizar o teste:

Diferenca_Total_Segundos = 
SUMX(
    FILTER(
        AtendUltAlteracao,
        AtendUltAlteracao[Protocolo] = EARLIER(AtendUltAlteracao[Protocolo])
    ),
    VAR Data_Abertura = MINX(FILTER(AtendUltAlteracao, AtendUltAlteracao[Abertura/Encerramento] = "abertura"), AtendUltAlteracao[AtendData])
    VAR Data_Encerramento = MAXX(FILTER(AtendUltAlteracao, AtendUltAlteracao[Abertura/Encerramento] = "encerrado"), AtendUltAlteracao[AtendData])
    VAR Diferenca_Segundos = DATEDIFF(Data_Abertura, Data_Encerramento, SECOND)
    RETURN Diferenca_Segundos
)

No exemplo acima, o código calcula a diferença em segundos entre a data de abertura e encerramento para cada protocolo na tabela AtendUltAlteracao e, depois, soma as diferenças para obter um total de segundos para cada protocolo.

Não esqueça de adaptar o código acima conforme o seu projeto necessita.

Espero que a sugestão te ajude. Continue assim, se dedicando aos estudos e explorando novos caminhos.

Bons estudos, Bianca!