- 17 Dez 2020 às 17:42
#61128
Boa tarde pessoal, tudo bem?
Sou iniciante no PBI e gostaria de uma ajudinha, se possível.
Tenho a seguinte situação: Montei uma matriz que apresenta as informações de Receita, Volume e Real/Kg (cenário atual, 2020). Essas colunas se repetem na matriz, porém, os valores são alternados de acordo com 3 filtros de seleção. Além disso, demonstro o valor de delta absoluto e % (variação atual x 3 filtros de seleção). Pois bem, eu gostaria de criar um "ranking" com os valores de delta absoluto, ou seja, demonstrar qual posição, cada valor de delta está (1º, 2º, 3º) - mais ou menos o que a função ordem do excel faz.
Eu utilizei a seguinte função para tentar fazer o ranking:
Ranking = RANKX(ALL(tb_gerente[Gerente_Resumo]), [DeltaAbs])
Gerente Resumo: Apresenta o nome da regional.
DeltaAbs: Medida criada para calcular o delta (diferença), entre o valor atual e as variáveis de seleção (no caso, 3).
O resultado que eu gostaria de chegar:
SP: 9.000 - 1º
RJ: 7.200 2º
MG: -2.000 3º
E por ai vai...
Abaixo, as funções utilizadas:
medida: DeltaAbs = SWITCH(TRUE(),
[SelecaoMedida] = "FAT", FIXED([Atual]-[Comparativo],0),
[SelecaoMedida] = "TON", FIXED([Atual]-[Comparativo], 0),
[SelecaoMedida] = "RealKg", FIXED([Atual]-[Comparativo]), 2)
medida atual:
Atual = SWITCH(TRUE(),
[SelecaoMedida] = "FAT", FIXED([Faturamento],0),
[SelecaoMedida] = "TON", FIXED([Volume],0),
[SelecaoMedida] = "RealKg", FIXED([RealKg],2))
medida comparativo:
Comparativo = SWITCH(TRUE(),
[SelecaoMedida] = "FAT", FIXED([Troca_fat_comp], 0),
[SelecaoMedida] = "TON", FIXED([Troca_ton_comp], 0),
[SelecaoMedida] = "RealKg", FIXED([Troca_RealKG_comp], 2))
medida Troca_fat_comp: (mesma medida criada para calcular volume (ton) e real/kg, segui o mesmo racional, mudando apenas, a coluna calculada):
Troca_fat_comp =
Var FatBP = SWITCH(TRUE(),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'20",CALCULATE(SUM(tb_bp[meta_fat]),FILTER(tb_bp,tb_bp[JJ]=1)),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'21", CALCULATE(SUM(tb_bp[meta_fat]),FILTER(tb_bp,tb_bp[JJ]=2)))
Var FatMeta = SWITCH(TRUE(),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'20", CALCULATE(SUM(tb_meta[meta_fat]),FILTER(tb_meta, tb_meta[JJ]=1)),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'21", CALCULATE(SUM(tb_meta[meta_fat]), FILTER(tb_meta,tb_meta[JJ]=2)))
Var FatYA = SWITCH(TRUE(),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'20", CALCULATE(SUM(tb_bi[Fat]), FILTER(tb_bi, tb_bi[JJ]=0)),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'21", CALCULATE(SUM(tb_bi[Fat]), FILTER(tb_bi, tb_bi[JJ]=1)))
return
SWITCH(TRue(),
[SelecaoComp] = "BP",FatBP,
[SelecaoComp] = "Meta", FatMeta,
[SelecaoComp] = "YA", FatYA
Imaginei que essa função funcionaria: Ranking = RANKX(ALL(tb_gerente[Gerente_Resumo]), [DeltaAbs])... mas ela não retorna a posição correta
Não sei se fui confusa na minha pergunta, mas agradeço quem conseguir me ajudar
Abraços, Na
Sou iniciante no PBI e gostaria de uma ajudinha, se possível.
Tenho a seguinte situação: Montei uma matriz que apresenta as informações de Receita, Volume e Real/Kg (cenário atual, 2020). Essas colunas se repetem na matriz, porém, os valores são alternados de acordo com 3 filtros de seleção. Além disso, demonstro o valor de delta absoluto e % (variação atual x 3 filtros de seleção). Pois bem, eu gostaria de criar um "ranking" com os valores de delta absoluto, ou seja, demonstrar qual posição, cada valor de delta está (1º, 2º, 3º) - mais ou menos o que a função ordem do excel faz.
Eu utilizei a seguinte função para tentar fazer o ranking:
Ranking = RANKX(ALL(tb_gerente[Gerente_Resumo]), [DeltaAbs])
Gerente Resumo: Apresenta o nome da regional.
DeltaAbs: Medida criada para calcular o delta (diferença), entre o valor atual e as variáveis de seleção (no caso, 3).
O resultado que eu gostaria de chegar:
SP: 9.000 - 1º
RJ: 7.200 2º
MG: -2.000 3º
E por ai vai...
Abaixo, as funções utilizadas:
medida: DeltaAbs = SWITCH(TRUE(),
[SelecaoMedida] = "FAT", FIXED([Atual]-[Comparativo],0),
[SelecaoMedida] = "TON", FIXED([Atual]-[Comparativo], 0),
[SelecaoMedida] = "RealKg", FIXED([Atual]-[Comparativo]), 2)
medida atual:
Atual = SWITCH(TRUE(),
[SelecaoMedida] = "FAT", FIXED([Faturamento],0),
[SelecaoMedida] = "TON", FIXED([Volume],0),
[SelecaoMedida] = "RealKg", FIXED([RealKg],2))
medida comparativo:
Comparativo = SWITCH(TRUE(),
[SelecaoMedida] = "FAT", FIXED([Troca_fat_comp], 0),
[SelecaoMedida] = "TON", FIXED([Troca_ton_comp], 0),
[SelecaoMedida] = "RealKg", FIXED([Troca_RealKG_comp], 2))
medida Troca_fat_comp: (mesma medida criada para calcular volume (ton) e real/kg, segui o mesmo racional, mudando apenas, a coluna calculada):
Troca_fat_comp =
Var FatBP = SWITCH(TRUE(),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'20",CALCULATE(SUM(tb_bp[meta_fat]),FILTER(tb_bp,tb_bp[JJ]=1)),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'21", CALCULATE(SUM(tb_bp[meta_fat]),FILTER(tb_bp,tb_bp[JJ]=2)))
Var FatMeta = SWITCH(TRUE(),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'20", CALCULATE(SUM(tb_meta[meta_fat]),FILTER(tb_meta, tb_meta[JJ]=1)),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'21", CALCULATE(SUM(tb_meta[meta_fat]), FILTER(tb_meta,tb_meta[JJ]=2)))
Var FatYA = SWITCH(TRUE(),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'20", CALCULATE(SUM(tb_bi[Fat]), FILTER(tb_bi, tb_bi[JJ]=0)),
SELECTEDVALUE(tb_aux_JJ[JJ])="JJ'21", CALCULATE(SUM(tb_bi[Fat]), FILTER(tb_bi, tb_bi[JJ]=1)))
return
SWITCH(TRue(),
[SelecaoComp] = "BP",FatBP,
[SelecaoComp] = "Meta", FatMeta,
[SelecaoComp] = "YA", FatYA
Imaginei que essa função funcionaria: Ranking = RANKX(ALL(tb_gerente[Gerente_Resumo]), [DeltaAbs])... mas ela não retorna a posição correta

Não sei se fui confusa na minha pergunta, mas agradeço quem conseguir me ajudar

Abraços, Na