Ir para conteúdo
  • 0

Exibir o saldo da maior sequencia no dia


THIAGOVS
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Prezados, bom dia!

Estou precisando buscar as informações para exibir em uma tela os dados do saldo dos materiais por dia buscando sempre a ultima sequencia do movimento da seguinte maneira:

A coluna DESCRICAOHISMOV exibe a movimentação realizada que pode ser entrada por NF ou Saída por requisição.
A coluna SEQMOVTO exibe a sequencia do movto e obedece uma ordem crescente dos movimentos ao longo do tempo.
A coluna SALDO exibe o valor do saldo no dia.

Na segmentação de dados o filtro estará habilitado para todos os dias do mês de maio.

A necessidade seria mostrar em no cartão e nos gráficos de barra a soma do saldo dos dois locais (200 e 205) da ultima data de movimentação e no gráfico de linha o saldo ao longo do tempo.

Ex no cartão: Saldo = 238.584,6  (saldo da data máxima de movimentação)

Ex gráfico barras:

Local 200 = 201.297

          205 = 37.287,6

Ex no gráfico de linha: 
    
        
   
             371.335,6        376.048,6      338.468,6     280.596,6     238.584,6
              
                   25                      26                   27                  28                  29
                                                                   maio
                                                                  2022


*Obs: O valor do saldo obedece sempre a ultima sequencia do movimento (SEQMOVTO) por isso deverá ser a MAX para ser considerada no dia.

 

Criei uma medida chamada Saldo Atual porem não esta funcionando da maneira correta, se puderem dar um ajuda eu agradeço!

 

estoqueForum.pbix movtosForum.xlsx

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
  • Alunos
  • Solução
Saldo Atual v1 = 
    VAR vDataMax = 
        MAX(dCalendario[Date])
    VAR vLocal = 
        FILTER(
            VALUES(fMovto[CODIGOLOCAL]),
            NOT(ISBLANK(fMovto[CODIGOLOCAL]))
        )
    VAR vTabelaDataLocal = 
        FILTER(
            ALL(fMovto),
            fMovto[DATA] <= vDataMax && 
            fMovto[CODIGOLOCAL] IN vLocal
        )
    VAR vTabelaSumarizada = 
        ADDCOLUMNS(
            ADDCOLUMNS(
                SUMMARIZE(
                    FILTER(
                        ALL(fMovto),
                        fMovto[DATA] <= vDataMax && 
                        fMovto[CODIGOLOCAL] IN vLocal
                    ),
                    fMovto[CODIGOLOCAL],
                    "MAXDATA",
                    MAX(fMovto[DATA])
                ),
            "SEQ",
                VAR vLocal = [CODIGOLOCAL]
                vAR vData = [MAXDATA]
            RETURN
                CALCULATE(
                    MAX(fMovto[SEQMOVTO]),
                    fMovto[DATA] = vData && 
                    fMovto[CODIGOLOCAL] = vLocal
                )
            ),
            "SALDO1",
                VAR vLocal = [CODIGOLOCAL]
                VAR vSeq = [SEQ]
            RETURN
                CALCULATE(
                    [qtd itens],
                    fMovto[CODIGOLOCAL] = vLocal,
                    fMovto[SEQMOVTO] = vSeq
                )
        )
RETURN
    COALESCE(
        SUMX(
            vTabelaSumarizada,
            [SALDO1]
        ),
        0
    )

 

estoqueForum20220608.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

A  ideia seria mostrar a situação atual (saldo mais recente) no cartão e demais visões que queira incluir na tela e deixar o histórico como vc conseguiu gerar no de período de tempo msm.

 

Consigo incluir essa regra com a MAX(DATA) na mesma medida para mostrar nos demais visuais?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Queria que tivesse o mesmo comportamento que quando clico em um dia qlq do gráfico de linha porém sem clicar...os demais visuais já deveriam estar com a maior data do movimento filtrada (estáticos). Pq se não filtro uma data especifica a medida esta somando todo o período. Entende?

image.thumb.png.0cb81175cadbb36b5ab8955920b7233f.png

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bom dia @Bruno Abdalla de Souza

Fiz um teste aqui usando um outro material que não tem movimentação diária e acabei percebendo o seguinte: 

Ex: tenho saldo de 02 itens no local 200 no dia 25/05 (porém não tive mais movimentação nesse local até a ultima data do contexto), já no local 205 que foi o da ultima movimentação e ultima data tb o saldo esta com 0, sendo assim, no cartão e no gráfico do tempo (dia 26 e 31) o saldo exibido fica zerado.

Existe a possibilidade de mostrar com a soma dos locais? Que seria a soma da ultima movimentação de cada local, pois dai sim seria o saldo real que tenho em estoque atualmente.

Consegue entender?

Anexo um exemplo da consulta que fiz no banco de dados.

Agradecido!

 

 

consultaBancoDados.png

exLocal.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Em nosso estoque temos dois locais: 200 e 205, o saldo é a soma deles. Ou seja, no dia 25/05 deu certo pq foi minha data inicial e a medida esta somando certinho.

Já no dia 26/05 eu já tinha um saldo inicial de 02 itens no local 200 e esse saldo não esta sendo somado ao próximo dia, o que esta faltando é somar as ultimas movimentações de ambos os local levando todo o saldo para a maior data do contexto.

Não sei se consegui explicar direito. Qlq duvida pode me falar.

 

Vlw!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Estes não são os mesmos dados que você me mandou. Os dados de SEQMOVTO não são os mesmos. Nós dados que você me mandou, está me retornando saldo 2 para o local 205 e não 1 entre 27 e 30/05, pois pego o maior valor de SEQMOVTO.

Editado por Bruno Abdalla de Souza
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Do dia 27/05 ao 30/05 não houve movimentação desse item, então tem que manter o mesmo saldo do ultimo dia de movimento...

Qdo eu for incluir um outro item de estoque nessa consulta que tem a movimentação diária por ex como o diesel, dai terei todas as datas em sequencia e no casos desses itens que não tem uma movimentação diária o saldo deverá ser replicado para todos os dias mesmo que não tenha movimento entende? 

Por exemplo: terei no dia 07/06 hoje, movimentação de diesel e supondo que terei um saldo de 300 nesse item e minha ultima movimentação do item "Compressor" citado no print foi no dia 31/05, o saldo atual será os 300 do diesel mais os 02 do compressor fazendo um  total de 302 itens.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

As qtdes no gráfico de linha agora estão corretas porém no gráfico de local exibe o mesmo saldo para os dois locais...em um só deveria ter 02 e no outro 1 na ultima data do contexto.

Ex: dia 25/05 temos 03 em estoque

200 = 02

205= 01

 

No gráfico esta exibindo o saldo 02 para os dois locais

image.thumb.png.ca03141ceaf56f4547936eea3083ac12.png

 

 

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