Ir para conteúdo
  • 0

Métrica com o Filtro de Segmentação - Trazer valores de datas menores ou iguais;


Gustavo Weingaertner

Pergunta

  • Alunos

Oi pessoal, boa noite! 
Como estão?

Seguinte, estou com uma dúvida referente a uma questão do Power BI que gostaria do auxílio de vocês.

Minha base de dados histórica possui os seguintes itens: 

  • Loja = Número do centro da Loja;
  • Número da loja = Número da Loja;
  • Data de Abertura = Data prevista para abertura da loja (É a data do Eixo X para a sinalização das lojas);
  • Data de Atualização = Data em que houve a atualização do registro (Será utilizada como a minha data de corte);
  • Atualização = Número da atualização (Atualização 1 significa registro mais recente. Quanto maior for o número, mais atualizações de registros aconteceram no registro)
  • Chave Única = Junção das informações de Loja e Número da Loja, é feito para ter um valor único para os dados (conforme informação no Detalhes da base)

Detalhes da base: A base é uma base histórica, onde cada nova atualização ocorre e é adicionada na base com um valor do campo Atualização. Uma loja possui diversos números (exemplo: loja 123 possui os números 12, 15, 17). Os números podem se repetir para outras lojas (Ex: A loja 123 possui o número 15, a loja 234 também possui o número 15). A chave única serve para juntar essas duas informações (Ex: 123-15 e 234-15). No momento que uma chave única entrou no sistema, em todos os meses posteriores ela deverá aparecer (ela não "deixa de existir" se não aparece em um mês, apenas representa que não houve nenhuma atualização dela nesse período, mas ela ainda deve ser contabilizada na contagem de lojas).

Necessidade: Necessito de um determinado mês (data de atualização) observar todos os casos que existiam naquele período (data de abertura). 

Problema: Um registro que existe em um mês não necessariamente irá aparecer em um mês posterior. Como a base apenas atualiza o registro caso ocorra alguma movimentação no mesmo, acontece casos como o seguinte:

image.png.333ddb670f0c1d3080c092bb1c914044.png

Se eu for buscar a data de abertura (Filtro de segmento na Data de Atualização) para essa loja no mês de Jan/2023, não irá sinalizar nenhum dado (o que necessita vir é a data de atualização mais próxima de Jan e com o menor rank, no caso, para Jan/2023 a informação que necessita vir é a de 05/12/2022). 

Ex:

Jun/2022 -  Possui data de atualização nesse registro, logo será sinalizado a data de abertura para Nov/2023.
Jul/2022  -  Como não apresenta nova atualização, o registro a ser mostrado é o da última Data de Atualização (Jun/2022).
Ago/2022 - Como não apresenta nova atualização, o registro a ser mostrado é o da última Data de Atualização (Jun/2022).
.
.
Nov/2022 - Possui data de atualização nesse registro, logo será sinalizado a data de abertura para Jan/2024.

Porém ao trazer isso dentro do PBI não estou conseguindo encontrar um modo de tornar isso possível.

image.png.541fbc6e8b4d1ad537776226ac73187b.png

 

Eu já tentei de algumas formas porém não tive sucesso, pois uma vez que eu uso o segmento de dados não estou conseguindo trazer nenhum registro de outros meses (O que é necessário, conforme no exemplo que dei acima).

Estou deixando em anexo também o PBI com alguns dos dados para caso ajude.

Desde já agradeço! 
Atenciosamente, 

pbi_dv_contagem.pbix

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos

@Gustavo Weingaertner, criei primeiro uma medida para calcular a atualização mais recente.

Num Atualização = 
VAR vDataMax = MAX(dCalendario_Atualizacao[Date])
VAR vAtualizacaoMaisRecente = 
    CALCULATE(
        MIN(Tabela3[Atualizacao]),
        FILTER(
            ALL(dCalendario_Atualizacao),
            dCalendario_Atualizacao[Date] <= vDataMax
        )
    )
RETURN
    vAtualizacaoMaisRecente

Depois criei as seguintes medidas para trazer as informações de acordo com a atualização mais recente.

Nome Loja = 
VAR vDataMax = MAX(dCalendario_Atualizacao[Date])
VAR vAtualizacaoMaisRecente = [Num Atualização]
VAR vLoja = 
    CALCULATE(
        MAX(Tabela3[Loja]),
        Tabela3[Atualizacao] = vAtualizacaoMaisRecente,
        ALL(dCalendario_Atualizacao)
    )
RETURN
    vLoja

 

Número da Loja = 
VAR vDataMax = MAX(dCalendario_Atualizacao[Date])
VAR vAtualizacaoMaisRecente = [Num Atualização]
VAR vNumLoja = 
    CALCULATE(
        MAX(Tabela3[Número Loja]),
        Tabela3[Atualizacao] = vAtualizacaoMaisRecente,
        ALL(dCalendario_Atualizacao)
    )
RETURN
    vNumLoja

 

Data Abertura = 
VAR vDataMax = MAX(dCalendario_Atualizacao[Date])
VAR vAtualizacaoMaisRecente = [Num Atualização]
VAR vDataAbertura = 
    CALCULATE(
        MAX(Tabela3[Data de Abertura]),
        Tabela3[Atualizacao] = vAtualizacaoMaisRecente,
        ALL(dCalendario_Atualizacao)
    )
RETURN
    vDataAbertura

 

Data Atualização = 
VAR vDataMax = MAX(dCalendario_Atualizacao[Date])
VAR vAtualizacaoMaisRecente = [Num Atualização]
VAR vDataAtualizacao = 
    CALCULATE(
        MAX(Tabela3[Data da Atualização]),
        Tabela3[Atualizacao] = vAtualizacaoMaisRecente,
        ALL(dCalendario_Atualizacao)
    )
RETURN
    vDataAtualizacao

Utilizei estas 5 medidas no visual de tabela.

Editado por Bruno Abdalla de Souza
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...