2
respostas

[Dúvida] Sintese DAX, para contabilidade de Horas uteis com condição de seg a qui (9hrs) e Sexta (8hrs)

Após ver alguns foruns abertos não encontrei o que eu procurava, por conta da especificação dos dias da semana.

Vou criar uma situação para ficar mais fácil de entender, estou quebrando cabeça há dois dias com isso.

Se o mês de agosto/2023 tem 23 dias úteis.

Preciso multiplicar 9horas vezes a quantidade de dias (seg,ter,quar e qui).

Assim 9hrs x 19 dias= 171hrs.

Em seguida multiplicar 8hrs vezes a quantidade de sextas feiras no mês (Sex).

Assim 8hrs x 4 dias = 32hrs.

Por fim, some 171hrs + 32hrs, totalizando 203 hrs.

Quero gerar um card que vai me mostrar 203 horas.

como fazer isso no power bi? Tem como fazer apenas com uma única medida com uma formula DAX?

2 respostas

Oi, Patrick, tudo bem?

Desculpe a demora em te responder!

Para realizar a soma das horas totais e apresentá-las em um cartão sugiro que você crie separadamente cada uma das medidas, para evitar erros de sintaxe. Você pode seguir os passos abaixo:

  1. Primeiro, você precisa criar uma coluna que identifique o dia da semana. Você pode fazer isso usando a função WEEKDAY. Ela retorna um número de 1 (domingo) a 7 (sábado). Então, você pode criar uma nova coluna em sua tabela de datas com algo como: DiaDaSemana = WEEKDAY(TabelaData[Data]).

  2. Em seguida, você pode criar duas medidas separadas para calcular o total de horas para dias de semana de segunda a quinta-feira e para sexta-feira. Para segunda a quinta-feira (9 horas por dia), você pode usar algo como: HorasSegQui = COUNTX(FILTER(TabelaData, TabelaData[DiaDaSemana] >= 2 && TabelaData[DiaDaSemana] <= 5), TabelaData[Data]) * 9. Isso vai contar todos os dias de segunda a quinta-feira e multiplicar por 9.

  3. Para sexta-feira (8 horas por dia), você pode usar algo como: HorasSex = COUNTX(FILTER(TabelaData, TabelaData[DiaDaSemana] = 6), TabelaData[Data]) * 8. Isso vai contar todas as sextas-feiras e multiplicar por 8.

  4. Finalmente, você pode criar uma medida que soma as duas medidas anteriores para obter o total de horas úteis no mês: TotalHoras = [HorasSegQui] + [HorasSex].

Caso queira mais informações sobre as funções apresentadas acima, deixo abaixo as documentações que podem te ajudar:

Todavia, vale ressaltar que como não tenho acesso ao cenário completo do projeto outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Fala Rodrigo!! tudo certo. Muito obrigado. Eu vou testar durante essa semana e já te respondo se funcionou!

Mas fazer separadamente faz todo o sentido. Eu pensei até em criar um calendário com os feriados, mas tentei buscar uma função que fizesse isso automaticamente de forma remota.

Mas isso é outro detalhe.