Ir para conteúdo
  • 0

Selecionar 2 períodos distintos - ano atual e ano anterior


Renata Balsani
Ir para solução Solucionado por Erick Oliveira ,

Pergunta

  • Membros

Olá!

Tenho essas duas medidas: ano atual/ano anterior que funcionaram em selecionar períodos distintos como demonstrado abaixo.

Gostaria de travar no DAX a seleção somente de dois períodos, o usuário não poderia selecionar mais que 3 por exemplo:

_vanoAnterior =
VAR vanoAnterior = MIN('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAnterior = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAnterior)
RETURN
vTotalAnoAnterior
 
_vanoAtual =
VAR vanoAtual = MAX('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAtual = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAtual)
RETURN
vTotalAnoAtual
 
image.jpeg.7e8caf06fd611d9b4d59b4ac7544266b.jpegimage.jpeg.297cc2ae180d9aa3f6aab6946372d06f.jpeg
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Opa Renata,

Perdão, me passei na hora de escrever as medidas. São as duas medidas que você enviou,  _vanoAnterior e _vanoAtual, apenas acrescentando a condição que o usuário não pode selecionar mais de 2 períodos.
 

_vanoAnterior =
VAR vQtdValoresSelecionados =
COUNTROWS(
    VALUES('corp dim_calendario'[ds_periodo_comercial])
)
VAR vanoAnterior = MIN('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAnterior = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAnterior)
RETURN
IF(
    NOT vQtdValoresSelecionados > 2,
    vanoAnterior
)

 

_vanoAtual =
VAR vQtdValoresSelecionados =
COUNTROWS(
    VALUES('corp dim_calendario'[ds_periodo_comercial])
)
VAR vanoAtual = MAX('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAtual = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAtual)
RETURN
IF(
    NOT vQtdValoresSelecionados > 2,
    vTotalAnoAtual
)

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Boa tarde Renata;

Não sei se tem algum visual customizado que permita esse bloqueio especifico. Uma sugestão seria criar uma medida que caso o usuário selecione mais de dois períodos, o valor no gráfico apareceria nulo. A medida ficaria da seguinte forma:

 

_vanoAnterior =
VAR vQtdValoresSelecionados =
COUNTROWS(
    VALUES('corp dim_calendario'[ds_periodo_comercial])
)
VAR vanoAnterior = MIN('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAnterior = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAnterior)
RETURN
vTotalAnoAnterior
 
_vanoAtual =
VAR vanoAtual = MAX('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAtual = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAtual)
RETURN

IF(
    NOT vQtdValoresSelecionados > 2,
    vTotalAnoAtual
)

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
53 minutos atrás, Erick Oliveira disse:

Boa tarde Renata;

Não sei se tem algum visual customizado que permita esse bloqueio especifico. Uma sugestão seria criar uma medida que caso o usuário selecione mais de dois períodos, o valor no gráfico apareceria nulo. A medida ficaria da seguinte forma:

 

_vanoAnterior =
VAR vQtdValoresSelecionados =
COUNTROWS(
    VALUES('corp dim_calendario'[ds_periodo_comercial])
)
VAR vanoAnterior = MIN('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAnterior = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAnterior)
RETURN
vTotalAnoAnterior
 
_vanoAtual =
VAR vanoAtual = MAX('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAtual = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAtual)
RETURN

IF(
    NOT vQtdValoresSelecionados > 2,
    vTotalAnoAtual
)

 

Oi @Erick Oliveira essa fórmula que vc encaminhou é numa única medida? Está dando erro

 

_vanoAnterior =
VAR vQtdValoresSelecionados =
COUNTROWS(
VALUES('corp dim_calendario'[ds_periodo_comercial])
)
VAR vanoAnterior = MIN('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAnterior = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAnterior)
RETURN
vTotalAnoAnterior
 
_vanoAtual =
VAR vanoAtual = MAX('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAtual = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAtual)
RETURN
 
IF(
NOT vQtdValoresSelecionados > 2,
vTotalAnoAtual
)
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

@Erick Oliveira, tentei fazer essa fórmula, mas ainda não traz o esperado:

_
_teste4 =
VAR vanoAnterior = MIN('corp dim_calendario'[ds_periodo_comercial])
VAR vAnoAtual = MAX('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAnterior = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAnterior)
VAR VTotalAnoAtual = CALCULATE([vl_calc_media_pmp_emissao],'corp dim_calendario'[ds_periodo_comercial] = vAnoAtual)
VAR vAnoSelecionado = CALCULATE(DISTINCTCOUNT('corp dim_calendario'[ds_periodo_comercial]), ALLSELECTED('corp dim_calendario'[ds_periodo_comercial]))
VAR VResultado =
IF(ISINSCOPE('corp dim_calendario'[ds_periodo_comercial]), vTotalAnoAnterior, VTotalAnoAtual
)
VAR VAnosSelecionados = CALCULATE(DISTINCTCOUNT('corp dim_calendario'[ds_periodo_comercial]),ALLSELECTED('corp dim_calendario'[ds_periodo_comercial]))
RETURN
IF(
VAnosSelecionados = 2,
VResultado,
BLANK()
)
image.png.95c91157c1cb6738a6023df10fddcff3.png
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Olá, 

Participei da live do Leo, e a formula ficou da seguinte forma:

_VAnterior_Atual_aula =
VAR vanoAnterior = MIN('corp dim_calendario'[ds_periodo_comercial])
VAR vAnoAtual = MAX('corp dim_calendario'[ds_periodo_comercial])
VAR vTotalAnoAnterior = CALCULATE([vl_calc_media_pmp_emissao], 'corp dim_calendario'[ds_periodo_comercial] = vanoAnterior)
VAR VTotalAnoAtual = CALCULATE([vl_calc_media_pmp_emissao],'corp dim_calendario'[ds_periodo_comercial] = vAnoAtual)
VAR vAnoSelecionado = CALCULATE(DISTINCTCOUNT('corp dim_calendario'[ds_periodo_comercial]), ALLSELECTED('corp dim_calendario'))
RETURN
IF(
vAnoSelecionado = 2,
VTotalAnoAtual,
BLANK()
)
 
Agradeço por toda a ajuda.
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...