Ir para conteúdo
  • 0

Criar visão de lista parametrizada


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

Pergunta

  • Alunos

Boa noite,

Estou com uma dúvida aqui para montar uma visão "safrada" dos clientes (quanto tempo cada cliente demora pra resgatar os pontos a partir da primeira data de credito). No caso do segundo debito, seria a partir do segundo credito seguido do primeiro debito.

Postei a mesma dúvida na parte de "Linguagem DAX" mas acredito que possa ser resolvido tanto por DAX quanto por M. Pensei em criar uma relação de data mínima para cada vez que a forma de atribuição mudasse de crédito pra débito e vice versa, mas não consegui escrever a lógica.

Fiz um vídeo explicando, não sei se ficou muito claro, mas se não ficou, eu faço outro aqui.

O vídeo está em anexo.

Agradeço desde já

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Fiz uma opção com DAX, mantendo todos os dados. Não sei se é o que deseja. Infelizmente o fórum não está me permitindo anexar arquivos maiores ue 5,05 MB. Não sei porque, já que vi vocês conseguiram colocar arquivos ainda maiores. Passa seu email por mensagem privada que te envio o arquivo.

Mas fiz uma coluna calculada com este código:

Considera? = 
VAR vCPF_CNPJ = teste[CPF_CNPJ]
VAR vDebCred = teste[Débito ou Crédito]
VAR vProcuraInverso = IF(vDebCred = "Crédito", "Débito", vDebCred)
VAR vDataAgendamento = teste[Data do Extrato]
VAR vTabela = 
    FILTER(
            ALL(teste),
            teste[CPF_CNPJ] = vCPF_CNPJ && 
            teste[Débito ou Crédito] = vDebCred
    )
VAR vDataAnterior = 
    CALCULATE(
        MAX(teste[Data do Extrato]),
        FILTER(
            vTabela,
            teste[Data do Extrato] < vDataAgendamento
        )
    )
VAR vDebCredAnterior = 
    CALCULATE(
        MAX(teste[Débito ou Crédito]),
         FILTER(
            vTabela,
            teste[Data do Extrato] = vDataAnterior
        )
    )
VAR vResultado = 
    IF(
        vDebCred = vDebCredAnterior,
        0,
        1
    )
RETURN
    vResultado

 

Depois fiz esta medida.

Dias entre crédito e débito = 
VAR vTabelaFiltrada = 
    FILTER(
        teste,
        teste[Considera?] = 1
    )
VAR vDebitos = 
    FILTER(
        vTabelaFiltrada,
        teste[Débito ou Crédito] = "Debito"
        )
VAR vResultado = 
    SUMX(
        vDebitos,
        VAR vData = teste[Data do Extrato]
        VAR vCPF_CNPJ = teste[CPF_CNPJ]
        VAR vDataPosterior = 
            CALCULATE(
                MIN(teste[Data do Extrato]),
                FILTER(
                    vTabelaFiltrada,
                    teste[Débito ou Crédito] = "Credito" && 
                    teste[Data do Extrato] < vData && 
                    teste[CPF_CNPJ] = vCPF_CNPJ
                )
            )
        RETURN
            vData - vDataPosterior
    )
RETURN

 

Depois coloquei uma segmentação de dados de CPG_CNPJ e escolhi um. EM outro visual (matriz ou tabela), coloquei o CPF_CNPJ e a medida para calcular os dias entre crédito e débito.

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Como mostro na imagem anexada. Eu quero contar o intervalo de tempo que um cliente leva do seu primeiro credito ate o seu primeiro debito, depois do seu segundo credito (apos o seu primeiro debito) ate seu segundo debito, e assim por diante.

Caso haja duas ou mais linhas de debtio consecutivas sem o intervalo de um credito, eu quero que nao conte esses debitos seguintes, quero contar so entre esses intervalos de credito e debito.

image.png

duvida.xlsx

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