Ir para conteúdo
  • 0

Modelagem Controle Requisição Materiais versus Relatórios SAP


vitorsmello
Ir para solução Solucionado por Michele ,

Pergunta

  • Alunos

Pessoal, boa tarde.

Estou desenvolvendo um relatório onde os colaboradores da empresa onde trabalho irão acompanhar as solicitações de compra de materiais (valor, previsão de entrega, centro de custo e etc).
Basicamente os usuários fazem uma solicitação de compra através de um aplicativo desenvolvido em Power Apps onde é possível selecionar os materiais desejados através do código de material. Em outras palavras é como se fosse um e-commerce antes das informações serem imputadas no SAP;

O relatório foi modelado para que cada solicitação via aplicativo fosse feita uma requisição no SAP. Entretanto, por conta de uma nova regra da empresa, as requisições no SAP devem ser agrupadas por centro de custo. Esta é uma forma de evitar que as alçadas de aprovação no SAP sejam burladas.


Quando comecei a fazer a medidas e os gráficos comecei a encontrar algumas inconsistências.
A dificuldade que estou encontrando é que pode haver mais de uma requisição no Aplicativo para uma mesma solicitação no SAP. Anteriormente a minha base "Aplicativo" passou a ter valores únicos para a coluna "Número Requisição SAP". Após esse ajuste esta base passou a ter mais de um ID para o mesmo Número de Requisição SAP. Uma forma de minimizar isso seria remover duplicadas desta tabela, entretanto, é interessante manter a coluna ID para que os usuários consigam acompanhar o processo do início ao fim. 

Segue algumas premissas do modelo.

Aplicativo

  • ID: Número de identificação da solicitação
  • Número Requisição SAP: Requisição de compra imputada no SAP

Obs: Para uma mesma requisição no SAP podem haver mais de uma solicitação, ou seja, mais de um ID

ME5A

  • Número Requisição SAP: Requisição de compra imputada no SAP;
  • Código de Material: "CPF" do material que está sendo solicitado;
  • Documento de compras: Número do pedido de compras referente ao material da requisição. Uma mesma requisição pode ter N materiais e pedidos distintos. Caso ainda não tenha pedido de compras o material ainda está em cotação e será igual ao número requisição SAP; 

Compromisso/Realizado

  • Documento de compras: Número do pedido de compras referente ao material da requisição
  • Código de Material: "CPF" do material que está sendo solicitado;

Alguém poderia me auxiliar na melhor forma de modelar os dados, por favor?

Segue abaixo um resumo esquemático e em anexo arquivos para exemplo.


 

Modelagem Croqui.png

Modelagem Requisição Compra.xlsx

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá @vitorsmello!

Não sei se ainda está precisando de ajuda nisso, mas a meu ver teria que criar uma "bridge table" onde você tenha os muitos IDs para cada Número de Requisição no SAP.

Conforme exemplificado abaixo, neste caso ficaria um relacionamento Muitos para Muitos, como é uma tabela na ponta que só vai se relacionar com a Aplicativo não gera problema no modelo, deixando a Aplicativo apenas com esse segundo campo e sem repetir.

image.thumb.png.acd7aa429f95bce45231cdb98576d15d.png

Link para o comentário
Compartilhar em outros sites

  • 1
  • Alunos

Aqui na empresa, criei um painel de acompanhamento de requisições em aberto, ou seja, para os compradores acompanharem o que está pendente de ação, tudo automatizado a extração com o SAP. Eu também utilizo a transação ME5A pra isto. Mas como você quer verificar se naquela requisição há um pedido, você deve utilizar uma transação auxiliar pra isto, como: ME2N (por pedido), ME2M (por material), ME2L (por fornecedor) e na sua empresa também deve ter alguma transação que inicia com "Z" ou "Y" que seu TI customizou.

vale lembrar que a ME5A é para exibição de requisições que estão em aberto.

image.png.b61e42ea13f8358910b9e0a6e5b31bee.png

Editado por Vil Pessoa
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Michele,

Acho que neste exemplo vai ter mais de um relacionamento muitos para muitos.
Para um mesmo "Número Requisição SAP" eu posso ter vários "Códigos de Materiais" e diferentes "Documentos de compras."
Em outras palavras é como se estivesse fazendo uma solicitação de compra de vários materiais podendo comprar em N fornecedores diferentes.
Somado a isso eu posso ter duas solicitações de compra através do ID aplicativo e realizar uma compra só.

Exemplo: A pessoa A e a pessoa B solicitam comprar, respectivamente o produto X (Código do Material 00000) e Y (Código do Material 11111).
Eu entro em algum site da internet e em uma compra só eu faço a compra de ambos os produtos X e Y. Isso irá me gerar um número de compra (No meu caso o Número Requisição SAP). Entretanto, o produto X e Y são de fornecedores distintos me gerando dois documentos de compras.

Eu poderia ter duas bridge table neste modelo, por exemplo (uma para números de requisição SAP e outra para documento de compras)?

Agradeço de antemão.

Abraços,

Vitor

 

Rascunho.png

Editado por vitorsmello
Imagem duplicada
  • Like 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Oi @vitorsmello!

Na sua fato, que eu imagino ser a ME5A(SAP) você pode e vai ter um "Número Requisição SAP" para vários "Códigos de Materiais" e diferentes "Documentos de compras.", isso é normal, como se a sua fato fosse uma tabela de itens de Notas Fiscais.

Olhando novamente seu modelo, acredito que os dados de Compromisso e Realizado poderiam estar nessa fato ME5A(SAP), com uma coluna TIPO indicando se são dados de Compromisso ou Realizado, pois parecem ter a mesma estrutura, apenas diferenciando esse tipo, e me parece que são informações que fazem mais sentido ser parte da fato.

Desculpe, antes eu acabei achando que o único ponto de dúvida era aquele sobre aquele relacionamento a Aplicativo com a ME5A(SAP), mas eu faria essa junção e criaria apenas um fato ME5A(SAP) com esse campo Tipo diferenciando, a meu ver ficará "mais correto" e mais simples até para montagem das medidas no DAX.

Na parte do Aplicativo a meu ver a forma correta é como sugeri antes, tirar o ID dessa tabela e criar uma "Bridge Table" que tenha esses vários IDs para cada "Número Requisição SAP", e na Aplicativo removeria as linhas duplicadas, deixando ela com estrutura correta de dimensão.

Tente montar dessa forma e veja se faz sentido pra você.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Michele


Como a tabela Compromisso e Realizado possuem a mesma estrutura, unifiquei ambas colocando uma coluna chamada "Categoria" que define se é compromisso ou é realizado. Desta forma acabou ficando melhor.

Entretanto, ao combinar a coluna "Documento de compras" da tabela ME5A com "Compromisso/Realizado"  eu precisaria remover necessariamente as duplicadas de documento de compras para não trazer itens repetidos. Em alguns casos existe a chance de ter duas "Requisições de Compras" distintas para o mesmo "Documento de Compras".

Tentei realizar também a mescla do codigo material e documento de compras, entretanto, as vezes em uma mesma requisição existem várias linhas com o mesmo código. Ao fazer isso iria multiplicar o número de linhas. 

Neste caso, posso fazer duas bridge table? Uma com o Número Requisição e Documento de Compras?
Segue um exemplo.

 image.thumb.png.2820f70a9d72a66622accbd6c4b71457.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @vitorsmello!

Então, quando estamos falando de tabelas Fato nós vamos ter dados "repetidos", isso é perfeitamente normal. Pelo que vejo acabamos sempre batendo nesse ponto, em achar que se não se pode ter linhas com Ids repetidos na Fato, porém isso é normal, pois a tabela Fato é a sua tabela de históricos completos das suas transações.

Acredito que a melhor coisa agora é você pegar vídeos do curso sobre a parte de modelagem, para tirar essas dúvidas, acho que ficará mais claro pra você.

Para mim esses dados deveriam estar todos numa fato, e aí você cria as dimensões necessárias para filtrar e agrupar dados nos gráficos/medidas.

Na parte do Aplicativo a meu ver a forma correta é como sugeri inicialmente e no comentário anterior, tirar o ID dessa tabela e criar uma "Bridge Table" que tenha esses vários IDs para cada "Número Requisição SAP", e na Aplicativo removeria as linhas duplicadas, deixando ela com estrutura correta de dimensão.

Caso após essa reanálise do case ainda achar que não tem como agrupar os dados na Fato retorna aqui para simular com o arquivo inicialmente passado e tentar entender melhor a sua dúvida.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Como o processo interno na organização que eu trabalho é um pouco complexo, talvez seja por isso que estamos batendo no mesmo ponto. 

A parte da Bridge Table da tabela de "Número Requisição SAP" acho que está perfeito a sua observação.

Fazendo uma reflexão acredito que seja esse o caminho mesmo.

A minha única dúvida é trazer tudo para a tabela ME5A (SAP) fazendo a combinação do compromisso e realizado através do campo "Documento de Compras". Como uma mesma requisição possui várias linhas para o mesmo número de pedido, ao fazer a combinação irá multiplicar pela quantidade de itens.Por isso eu quis dizer que iria multiplicar a quantidade de itens.

A única forma que eu vi foi tentar fazer uma outra "Bridge Table" conforme você sugeriu que você sugeriu.

O meu "problema" é que eu possuo um único "Número de Pedido" para vários valores de "Número Requisição SAP". 

No exemplo que você recomendou colocar a "Bridge Table" eu possuo dois "IDs" distintos para o mesmo valor de "Número de Requisição SAP."

Por isso que eu acabei colocando uma outra "Bridge Table" com os valores Distintos de "Documento de Compras"

Anexei o arquivo PBIX e uma cópia do excel. Acredito que agora ficará mais fácil! 😃

Modelagem Requisição Compra.xlsx ModelagemRequisicaoCompra.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Faala @vitorsmello tudo bem? 😃

Esperamos que você tenha encontrado a solução que tanto desejava!!

Caso alguma resposta tenha ajudado, você pode marcá-la como Solução . Com isso o tópico poderá ser fechado! 

Maas...

Pode acontecer de você receber uma resposta que não é 100% do que você esperava. Mesmo assim, se ela o ajudou de alguma forma para que você mesmo conseguisse chegar à solução, conte como você fez isso e marque como a melhor resposta. 😉

 

Obrigado por tonar nossa comunidade #INCOMPARÁVEL!!

Att Julian Salcedo I Community Manager Xperiun

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...