Ir para conteúdo
  • 0

Soma de produtos e clientes elegíveis


luizkrein
Ir para solução Solucionado por Edson Igari ,

Pergunta

  • Alunos

Boa tarde.

Tenho uma tabela de fatos com data de faturamento, chave do cliente, chave do material e valor de receita;
dMaterial com chave do material , se é elegível, e data de inicio de ser elegível;
e dCliente com as colunas chave do cliente, se é elegível, e data de início de ser elegível.

Estou com dificuldade de criar uma medida que considera o valor de receita de produtos e clientes elegíveis, isto é, considerando as datas de início do registro de ambas as tabelas dimensões.

O que fiz até agora:

       SUMX(
                  CALCULATETABLE(fFato,

 
                   FILTER(dCliente, dCliente[Cadastro] IN {"Sim"} &&
                            dCliente[Data]>=SELECTEDVALUE(fFato[Data Nota]) ),
 
                   FILTER(dMaterial,NOT ISBLANK(dMaterial[Data]) &&
                           dMaterial[Data ]>=SELECTEDVALUE(fFato[Data]) )
                   )
       ,fFato[ROL])


Quando eu coloco no contexto as datas os valores somem, porém o total não soma corretamente.

Grato

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Ainda não.
Preciso que mostre o total sem que eu tenha que colocar as datas no contexto de filtro.

A formula com data considera o que eu quero porém não totaliza. Ela filtra conforme as datas, se as duas datas de inscrição forem menores, ele traz o cálculo corretamente, porém quando vai para o total, ele se perde.



image.png.91f5645a67d8541da01954d6c54c5d56.png

 

Mesmo que ainda não tenha conseguido a solução, já agradeço o apoio!

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Consegui!

A medida pode ser calculada com a fórmula:

Receita v3 =
SUMX (
        fFatura,CALCULATE([Receita R$],
        FILTER (
            dProduto,
            dProduto[Inscrito Produto] = "Sim"
                && dProduto[Data Inscrição Produto] <= EARLIER( fFatura[Data] )
        ),
        FILTER (
            dCliente,
            dCliente[Inscrito Cliente] = "Sim"
                && dCliente[Data da Inscrição Cliente] <= EARLIER ( fFatura[Data] )
        )
    )
    )


A função retornou corretamente após trocar SELECTEDVALUE por EARLIER.

No total o SELECTEDVALUE traz uma data vazia, e irá zerar ambas as tabelas dimensões, zerando a fato, por isto retornava vazio.
Já a EARLIER vai trazer o valor do contexto anterior, que é uma interação linha a linha da tabela fFatura; no total, assim somando o total corretamente.

Se eu estiver errado, me corrija pf.

Validei o cálculo por este excel.

Obrigado!

 

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