Ir para conteúdo
  • 0

Medida fazendo cálculo errado


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

Pergunta

  • Alunos

Bom dia pessoal. Estou com problemas com uma medida simples de Calculate. Vejam bem o que acontece. Eu possuo uma tabela de movimentações com valores de vendas, nessa tabela eu tenho uma coluna com nome de SEQMOVIMENTACAO. Essa coluna basicamente me fala se foi uma movimentação de entrada (devolução, troca, cancelamento) ou saída (vendas), onde SEQMOVIMENTACAO = 2, 5 e 10 são para saídas e SEQMOVIMENTACAO = 1, 9 e 11 são para entradas. O meu problema é que eu usei essa medida para fazer a soma de todos os valores das entradas. Medida:

Total de Vendas SEQ 9 = CALCULATE([Faturamento Total],FILTER('fMovimentação_Itens','fMovimentação_Itens'[SEQMOVIMENTACAO] = 9))

Essa medida deveria me retornar o valor de todas as notas com SEQMOVIMENTACAO = 9, mas ao invés disso não me mostra valor nenhum e quando coloco SEQMOVIMENTACAO = 2, me mostra a soma de todos os valores como se o filter não filtrasse nada. Abaixo o arquivo .pbix para vocês verem.

Eu poderia fazer o sumx na tabela de VENDAS que me daria o valor certinho das vendas, já sem a as entradas. Mas ai eu perco o filtro de segmento e grupo de produtos no visual.

Showroom - Copia.pbix

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Seu modelo de dados parece que precisa melhorar.

1) Pense em juntar a fVendas e FvendasParcelas em uma só.

2) Remova o relacionamento da fVendas com fMovimentacoes e relacione a dCalendario com a fMovimentacoes (estas modificações eu fiz).

3) Crie uma tabela dimensão de Codigo de Movimentação que filtre a fVendas e a FMovimentações.

Segue o que fiz até o momento.

Showroom-Copia.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
29 minutos atrás, LGustavo disse:

Bom dia pessoal. Estou com problemas com uma medida simples de Calculate. Vejam bem o que acontece. Eu possuo uma tabela de movimentações com valores de vendas, nessa tabela eu tenho uma coluna com nome de SEQMOVIMENTACAO. Essa coluna basicamente me fala se foi uma movimentação de entrada (devolução, troca, cancelamento) ou saída (vendas), onde SEQMOVIMENTACAO = 2, 5 e 10 são para saídas e SEQMOVIMENTACAO = 1, 9 e 11 são para entradas. O meu problema é que eu usei essa medida para fazer a soma de todos os valores das entradas. Medida:

Total de Vendas SEQ 9 = CALCULATE([Faturamento Total],FILTER('fMovimentação_Itens','fMovimentação_Itens'[SEQMOVIMENTACAO] = 9))

Essa medida deveria me retornar o valor de todas as notas com SEQMOVIMENTACAO = 9, mas ao invés disso não me mostra valor nenhum e quando coloco SEQMOVIMENTACAO = 2, me mostra a soma de todos os valores como se o filter não filtrasse nada. Abaixo o arquivo .pbix para vocês verem.

Eu poderia fazer o sumx na tabela de VENDAS que me daria o valor certinho das vendas, já sem a as entradas. Mas ai eu perco o filtro de segmento e grupo de produtos no visual.

Showroom - Copia.pbix 1 MB · 1 download

@LGustavo
Bom Dia !

A sua medida não esta funcionando devido aos relacionamentos que vc tem em suas tabelas repare que vc tem um relacionamento entre sua dcalendario e sua fato fvendas e tem uma propagação desse relacionamento de fvendas para fvendas itens , entretanto na matriz que vc mandou no seu pbix , vc esta fazendo uma medida em cima da tabela fvendas itens , sem passar pela tabela fvendas ou sem colocar nenhum filtro da tabela fvendas dessa forma o filtro que era para se propagar da dcalendario ate a fvendasitens não se propaga , porque vc não passa por essa tabela , então o ideal e fazer um filtro inativo entre a dcalendario e a fvendasitens e utilizar a userrelationship para ativar essa relação quando necessário , talvez seria interessante fazer uma tabela dcodmovimentação tbm para não ter que fazer ligação entre as fatos.

 

213719064_Showroom-Copia.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
30 minutos atrás, Joao Barbosa disse:

@LGustavo
Bom Dia !

A sua medida não esta funcionando devido aos relacionamentos que vc tem em suas tabelas repare que vc tem um relacionamento entre sua dcalendario e sua fato fvendas e tem uma propagação desse relacionamento de fvendas para fvendas itens , entretanto na matriz que vc mandou no seu pbix , vc esta fazendo uma medida em cima da tabela fvendas itens , sem passar pela tabela fvendas ou sem colocar nenhum filtro da tabela fvendas dessa forma o filtro que era para se propagar da dcalendario ate a fvendasitens não se propaga , porque vc não passa por essa tabela , então o ideal e fazer um filtro inativo entre a dcalendario e a fvendasitens e utilizar a userrelationship para ativar essa relação quando necessário , talvez seria interessante fazer uma tabela dcodmovimentação tbm para não ter que fazer ligação entre as fatos.

 

213719064_Showroom-Copia.pbix 1 MB · 0 downloads

Eu tinha uma dMovimentação, mas como tudo o que tinha nela tinha também na fMovimetacao_Itens, eu mesclei as duas pra aproveitar só o SEQMOVIMENTACAO na minha fMovimentacao_Itens.

Editado por LGustavo
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Bruno Abdalla de Souza disse:

Seu modelo de dados parece que precisa melhorar.

1) Pense em juntar a fVendas e FvendasParcelas em uma só.

2) Remova o relacionamento da fVendas com fMovimentacoes e relacione a dCalendario com a fMovimentacoes (estas modificações eu fiz).

3) Crie uma tabela dimensão de Codigo de Movimentação que filtre a fVendas e a FMovimentações.

Segue o que fiz até o momento.

Showroom-Copia.pbix 1 MB · 0 downloads

Na verdade, eu tinha uma dMovimentações, mas achei melhor pegar os campos de data e seqmovimentacao dela e colocar na movimentacoes_itens para deixar o sistema mais limpo. No fim eu acabei voltando-a para poder fazer as alterações que você sugeriu.

1) A fVendasParcelas eu to deixando-a ali em stand by por enquanto, para quando precisar de fazer algum filtro com vendas por forma de pagamento eu poder usar, se eu juntar as duas eu vou ter um monte de codvendas repetidos na tabela de vendas e ai a minha dCondicao_Pagamento para de funcionar;

2) Essa eu fiz;

3) Essa eu fiz também. Como disse antes, eu usava uma dMovimentações, mas como tinha bem poucos dados, eu a mesclei com a fMovimentacao_Itens pra aproveitar tudo na fMovimentacoes_Itens. Aí eu a reativei e peguei o CODVENDA da tabela fVendas e mesclei na dMovimentações e ta funcionando certinho agora.

 

Muito obrigado a todos que me ajudaram.

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