Ir para conteúdo
  • 0

Valores proporcionais


Luciano
Ir para solução Solucionado por Rafa Lemos ,

Pergunta

  • Alunos

Seguinte tenho uma matriz onde código da área (nível 3), pode ser igual dentro de semente e venda (nível 2) então eu tenho a coluna "Area_Total" sendo calculado com um "Crossfilter" do fato para a dimensão, pois assim a soma da área seria somente de áreas distintas ficando correto o total de "Área" no nível 1 e não somando tudo com "Áreas" que seriam iguais. O problema é que parte dessas "Áreas" deve ser rateado em "Vendas" e "Semente" e a soma do rateio tem que ser o total da área. O Cálculo seria "Area_Total" * "Valor_percentual", e o total da "area_proporcional" no nivel 1 até está correto, mas no detalhe do nível 2 se fizer essa soma está errado, como segue o print. Não sei se deu pra entender o que quero fazer, poderiam me ajudar ou ver se essa abordagem está realmente correta.

Segue anexo também o pbix

Screenshot_1.thumb.png.84c69a3b0b38eda0d4a3f7ffae586764.png

pbix.zip

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Luciano,
da forma que estava fazendo, você pegava a área total e multiplicava pelo valor percentual de cada linha.
O que na verdade você precisava fazer é multiplicar a área total da descrição 1 pelo valor percentual de cada linha dentro da descrição 1.
É isso que o REMOVEFILTERS fez, removi os filtros de linha da Descrição 2 e do Código da área.

  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Rafa Lemos disse:

Luciano,
Boa tarde!

Tenta essa medida:
 


area_proporcional = 

CALCULATE(
    [Area_Total] ,
    REMOVEFILTERS( F_FATO[AREA_COD] ),
    REMOVEFILTERS( F_FATO[DESCRICAO_2] ) )
*
[Valor_percentual] 

 

image.png.17d7e361479fc9052eea2d7ef0dd20e5.png

Teoricamente seria isso mesmo. Poderia me explicar a lógica por trás. Obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
16 horas atrás, Rafa Lemos disse:

Luciano,
da forma que estava fazendo, você pegava a área total e multiplicava pelo valor percentual de cada linha.
O que na verdade você precisava fazer é multiplicar a área total da descrição 1 pelo valor percentual de cada linha dentro da descrição 1.
É isso que o REMOVEFILTERS fez, removi os filtros de linha da Descrição 2 e do Código da área.

Só mais uma dúvida. Caso eu queira dividir a coluna "Total" por "area_proporcional" o correto seria. DIVIDE([Total], [area_proporcional], 0), fiz assim mas os valores não estão cem por cento corretos, tem uma pequena diferença.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
47 minutos atrás, Rafa Lemos disse:

@Luciano segue a mesma ideia da anterior.

Da maneira que fez, está fazendo o total da linha e não do total geral.


area_proporcional = 

DIVIDE(
	CALCULATE(
		[Total] ,
		REMOVEFILTERS( F_FATO[AREA_COD] ),
		REMOVEFILTERS( F_FATO[DESCRICAO_2] ) ),
	[area_proporcional] )
  
   

 

@Rafa Lemos fiz dessa forma e acho que ficou mais errado ainda. Exemplo: A primeira linha de semente 318799,00 / 19,88 = 16036,16, a linha 2 136 seria 67450,00 / 4,21 = 16021,37. Os valores são quase iguais por uma diferença mínima, o correto acho que seria assim

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Luciano  Segue print com número das medidas com mais casas decimais.

Faça a prova real desses números, para ver que não estão errados.


image.thumb.png.0655995632c096c79b1e2e0d328608ce.png

Alterei um pouco as medidas:
 

area_proporcional = 
var area = CALCULATE(
    [Area_Total],
    REMOVEFILTERS(F_FATO[AREA_COD]),
    REMOVEFILTERS(F_FATO[DESCRICAO_2])
)

var area_proporcional = area * [Valor_percentual]
return
FORMAT( area_proporcional , "0.0#")

 

area/ha._proporcional = 
VAR vMedida = 
DIVIDE(    [Total] , [area_proporcional] )

Return
FORMAT( vMedida , "00,000.0#")

 

Olha o resultado:

image.thumb.png.340574baef83ad0a4295766f039b0b2b.png

  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
10 minutos atrás, Rafa Lemos disse:

@Luciano  Segue print com número das medidas com mais casas decimais.

Faça a prova real desses números, para ver que não estão errados.


image.thumb.png.0655995632c096c79b1e2e0d328608ce.png

Alterei um pouco as medidas:
 


area_proporcional = 
var area = CALCULATE(
    [Area_Total],
    REMOVEFILTERS(F_FATO[AREA_COD]),
    REMOVEFILTERS(F_FATO[DESCRICAO_2])
)

var area_proporcional = area * [Valor_percentual]
return
FORMAT( area_proporcional , "0.0#")

 


area/ha._proporcional = 
VAR vMedida = 
DIVIDE(    [Total] , [area_proporcional] )

Return
FORMAT( vMedida , "00,000.0#")

 

Olha o resultado:

image.thumb.png.340574baef83ad0a4295766f039b0b2b.png

Era formatação então. Não sabia que dava pra usar esse tipo de formatação na medida. Mas uma vez obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...