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

  • Alunos

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
  • Alunos
  • 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
  • Alunos

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
  • Alunos
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
  • Alunos

@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
  • Alunos

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

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...