Ir para conteúdo
  • 0

Exibir o saldo da maior sequencia no dia


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

Pergunta

  • Membros

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
  • Membros
  • 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
  • Membros

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
  • Membros

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
  • Membros

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
  • Membros

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
  • Membros

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
  • Membros

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
  • Membros

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...