Olá pessoal, espero que estejam todos bem.
Preciso de uma grande ajuda de vocês.
Tenho um desafio para gerar as bandejas de insumos para os cursos práticos de uma escola de pós-graduação em medicina.
Segue a problemática abaixo:
Tabelas do modelo:
fBandejas: representam as bandejas históricas para cada curso ministrados na escola
dCursos: dimensão referente aos cursos realizados
dProdutos: dimensão dos insumos que são utilizados nas bandejas
fMatriculas: tabela com a relação de alunos matriculados em cada curso
Contexto:
Para gerar as bandejas, dependemos das variáveis "Tipo de Utilização" e "Racional de Consumo", presentes na tabela fBandejas
Tipo de Utilização: temos 4 tipos (Aluno, Paciente, Curso e Box)
Racional: fator referente a quantidade necessária por tipo de Utilização (exemplos: 10 unidades por aluno, 5 unidades por paciente, 1 unidade por cursos, 1 unidade por Box)
Problemática:
Preciso calcular a quantidade que será necessária para cada insumo da bandeja do curso selecionado, para isso é necessário seguir as seguintes regras de negocio:
Se o tipo de utilização do insumo for por Aluno, precisamos buscar na tabela de bandejas o racional de quantidade e multiplicar pelo numero de alunos matriculados na tabelas de matriculas
Se o tipo de utilização do insumo for por Paciente, precisamos do seguinte:
Pacientes ultima bandeja: buscar na tabela de bandejas quantos Pacientes estavam presentes na ultima edição do curso (max data)
Alunos ultima bandeja: buscar na tabela de bandejas quantos Alunos estavam presentes na ultima edição do curso (max data)
Fator Paciente/Aluno: Dividir a quantidade de Pacientes da ultima bandeja pelo numero de alunos da ultima bandeja
Resultado: buscar na tabela de bandejas o racional de quantidade e multiplicar pelo Fator Paciente/Aluno
Se o tipo de utilização do insumo for por Curso: devemos apenas multiplicar o racional por 1
Se o tipo de utilização do insumo for por Box: buscar na tabela de bandejas quantos Box foram utilizados na ultima edição do curso (max data)
Observação:
Até o momento eu realizei o calculo da problemática com sucesso para verificar os produtos quando filtro por um curso, entretanto da forma que fiz eu não consigo saber a soma da quantidade total que será utilizada na bandejas, consequentemente eu não consigo saber o custo da bandeja quando cruzo com a tabela de produtos buscando o unitário.
Uma ideia que tive foi criar uma tabela virtual com esse resultado e somar a coluna de quantidade, mas eu não consegui chegar nesse output
Resultado esperado:
Quando filtrar um curso, saber a quantidade total que será utilizada nas bandejas, visto que na tabela de matriculas temos o numero de alunos já matriculados em cursos que vão acontecer no futuro
Conseguir quebrar esse total por produto, curso e data do curso (tabela de matriculas)
Arquivos:
Envio em anexo o PBIx com o resultado que obtive até o momento.
Agradeço desde já pela ajuda, espero que tenha ficado claro a necessidade do desafio
Bandejas.pbix