Ir para conteúdo
  • 0

BUSCAR DADOS DENTRO DA MESMA TABELA


Bruno Teixeira Gomes
Ir para solução Solucionado por Bruno Teixeira Gomes ,

Pergunta

  • Alunos

Galera, preciso de ajuda para uma situação que é a seguinte:

 

Eu tenho uma tabela, que segue o seguinte conceito, tenho em cada linha colunas que significam:

num_ov: número da ordem de venda

num_op: número da ordem de produção

setor_op: setor correspondente a essa ordem de produção

setor_ant: informação do setor anterior dessa ordem de produção, pois estamos visualizando ordens de produção de uma empresa com diferentes fases produtivas.

 

Abaixo um exemplo da tabela com 3 linhas:

Linha 1: ov_item: 39926010 num_op: 500123456 setor_op: Extrusao fase_ant: null

Linha 2: ov_item: 39926010 num_op: 500123457 setor_op: Impressao fase_ant: Extrusao

Linha 3: ov_item: 39926010 num_op: 500123458 setor_op: Corte e Solda fase_ant: Impressao

 

Essa é a tabela, agora vamos ao contexto:

Note que a ov_item é a informação em comum entre as 3 linhas, ou seja, eu tenho uma ordem de venda, com 3 ordens de produção, sendo uma para cada fase produtiva. Esse é apenas o exemplo de três linhas, mas que, por exemplo, podem existir somente duas linhas, ou até uma, pois pode existir um momento em que a fase anterior já foi produzida e não estará no relatório mesmo.

No caso de Extrusao, sempre estará null na fase anterior, pois esta é a primeira fase produtiva, então não tem fase anterior nesse contexto.

 

Então pense, se eu estiver visualizando OPs de impressão, por exemplo em uma tabela, a ideia é usar essa medida para saber se existe uma ordem de produção na sua fase anterior.

 

Na minha modelagem eu tenho:

Fatos: fPedidos (aqui estão as colunas que citei)

Dimensões: dMaquinas - aqui eu relaciono a coluna "num_maq" com o número da máquina na fato fPedidos, ou seja, nessa tabela dimensão eu tenho qual o setor para cada máquina, então consigo utilizar esse relacionamento para filtrar o setor quando eu quero na fato.

 

Eu cheguei a várias medidas que só me retornaram "não" independente do contexto, por isso peço a ajuda de vocês.

 

image.png.de424148cb7fa4f885a899410c3dbb45.png

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Atualizando, atualmente eu cheguei em uma "solução" inicial, que foi criando uma coluna calculada que ficou assim:

ValidaSetor =
VAR vOrdemVendaAtual = fPedidos[ov_item] //Aqui eu informo qual a ov_item atual
VAR vSetorOpAtual = fPedidos[setor_op] //Aqui eu informo qual o setor_op atual
VAR vFaseAnteriorEsperada = fPedidos[fase_ant] //Aqui eu tenho qual a fase anterior esperada para a minha ordem de produção atual
 
//Aqui eu crio uma tabela filtrada com a mesma ov_item e a fase anterior esperada.
VAR vFaseAnteriorParaOVItem =
    FILTER(
        ALL(fPedidos),
        fPedidos[ov_item] = vOrdemVendaAtual //Nessa condicional usei apenas para entender que a informação em comum que temos é a ordem de venda
        && fPedidos[setor_op] = vFaseAnteriorEsperada //Nessa condicional, coloca no filtro apenas Ordens de Vendas que existe essa OV na fase anterior
    )
 
//Verificar se existe a mesma ov_item na fase anterior esperada
VAR vExisteFaseAnteriorParaOVItem =
    COUNTROWS(vFaseAnteriorParaOVItem) > 0 //Aqui faz uma contagem de ordens, na tabela filtrada anterior, ou seja, faz uma validação se para a OP atual, existe a OV na fase anterior e retorna true/false.
 
RETURN
    IF(NOT(ISBLANK(vFaseAnteriorEsperada)) && vExisteFaseAnteriorParaOVItem, "Sim", "Não")

 

A única questão é que eu apenas consegui retornar Sim ou Não, mas ainda assim, por exemplo, eu gostaria de adicionar alguns dados pensando em visuais, como por exemplo:

Visualizando o setor de Impressão, beleza, existe uma OP para a fase anterior, mas qual o número dessa OP? Quanto já tem produzido?

Eu ainda estou com dificuldades para solucionar a minha pergunta apenas com a coluna calculada.

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...