Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I'm facing a problem with a combo chart.
I want to show the maximum and the minimum value of a measure (only two highlighters), but minimum highlighter appears repeatedly in every month and far from the line.
Can someone help me, please?
MEASURE (line): count(distinct Chave_Contrato)
HIGHLIGHTERS
Max: =if(count(distinct Chave_Contrato)=max(total aggr(count(distinct Chave_Contrato),[Mês Ano Registro Contrato])),count(distinct Chave_Contrato),0)
Min: =if(count(distinct Chave_Contrato)=min(total aggr(count(distinct Chave_Contrato),[Mês Ano Registro Contrato])),count(distinct Chave_Contrato),0)
Thanks!
Boa tarde, @MatheusC.
Muito obrigado pela ajuda! 😃 Consegui o resultado modificando parte da sua sugestão.
O problema era que mesmo não considerando os valores nulos na dimensão eles ainda eram considerados na medida, plotando os pontos em todos os meses. Tratando isso com:
{<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}
e deixando nulos os resultados que não atendessem a condição do "if", ficaram apenas o mínimo e o máximo.
Solução: no gráfico incluí dois marcadores (min/max):
Mínimo
=if(count(distinct Chave_Contrato)=
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),null())
Máximo
=if(count(distinct Chave_Contrato)=
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),null())
- - - - - - - - - - - - - - - - - - -
É possível conseguir o mesmo resultado colocando tudo em uma expressão apenas, mas para facilitar a mudança das cores de cada ponto é que deixei as mesmas separadas.
Mínimo/Máximo
//mínimo
=if(count(distinct Chave_Contrato)=
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
//máximo
if(count(distinct Chave_Contrato)=
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),null()))
Mais uma vez agradeço pelo apoio!
@rotter ,
Following your expression on the front end, you could try something like:
if(count(distinct Chave_Contrato)=min(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract]))
,min(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract])),
if(count( distinct Chave_Contrato)=max(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract]))
,max(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract])),''))
Regarts, Matheus
Hello, @MatheusC .
Thank you for your help!
I tried your suggestion, but it still doesn't work...
Now the maximum highlighter continues to appear, on the other hand, the minimum appears in gray at the null value of the dimension.
Disabling 'Include null values' in the dimension, the maximum highlighter changes its position in the chart and the minimum does not appear.
I was able to achieve the result by using a filter within the set analysis for the period that is being used in the visualization, for example:
With the date field, you might be using it as:
filtering from 2019 to the current date.
FieldDate={“>=$(=AddMonths(yearstart(today()),-60))<=$(=today())”}
example:
min(total aggr(count({<FieldDate={“>=$(=AddMonths(yearstart(today()),-60))<=$(=today())”}>} distinct Chave_Contrato),[Month Year Record Contract]))
Olá, @MatheusC!
Imagino que seja brasileiro não só pelo nome, mas porque vi algumas respostas suas em português.
Obrigado pela ajuda novamente.
Então, tentei fazer o que sugeriu, mas ainda não deu certo.
Esse set analysis considerando o período deve ser colocado em todas as partes da expressão ou somente para obter o máximo e o mínimo? Mais precisamente em cada count abaixo?
if(count(distinct Chave_Contrato)=min(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract]))
,min(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract])),
if(count( distinct Chave_Contrato)=max(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract]))
,max(total aggr(count( distinct Chave_Contrato),[Month Year Record Contract])),''))
Oi, @rotter sim Brasileiro também.
Vamos lá então, eu simulei seu gráfico e segui sua expressão. Consegui chegar no resultado aplicando o filtro do período da visualização dentro do min e max.
O exemplo informado para filtrar o período no set analysis é a partir de um campo Data.
Tevez precise ajustar para funcionar no seu cenário pois não sei como está estruturado seu modelo.
Espero que consiga chegar em seu resultado.
Então ficaria assim:
if(count(distinct Chave_Contrato)=min(total aggr(count({<FieldDate={“>=$(=AddMonths(yearstart(today()),-60))<=$(=today())”}>} distinct Chave_Contrato),[Month Year Record Contract]))
,min(total aggr(count({<FieldDate={“>=$(=AddMonths(yearstart(today()),-60))<=$(=today())”}>} distinct Chave_Contrato),[Month Year Record Contract])),
if(count( distinct Chave_Contrato)=max(total aggr(count({<FieldDate={“>=$(=AddMonths(yearstart(today()),-60))<=$(=today())”}>} distinct Chave_Contrato),[Month Year Record Contract]))
,max(total aggr(count({<FieldDate={“>=$(=AddMonths(yearstart(today()),-60))<=$(=today())”}>} distinct Chave_Contrato),[Month Year Record Contract])),''))
Att, Matheus
Boa tarde, @MatheusC.
Muito obrigado pela ajuda! 😃 Consegui o resultado modificando parte da sua sugestão.
O problema era que mesmo não considerando os valores nulos na dimensão eles ainda eram considerados na medida, plotando os pontos em todos os meses. Tratando isso com:
{<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}
e deixando nulos os resultados que não atendessem a condição do "if", ficaram apenas o mínimo e o máximo.
Solução: no gráfico incluí dois marcadores (min/max):
Mínimo
=if(count(distinct Chave_Contrato)=
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),null())
Máximo
=if(count(distinct Chave_Contrato)=
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),null())
- - - - - - - - - - - - - - - - - - -
É possível conseguir o mesmo resultado colocando tudo em uma expressão apenas, mas para facilitar a mudança das cores de cada ponto é que deixei as mesmas separadas.
Mínimo/Máximo
//mínimo
=if(count(distinct Chave_Contrato)=
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
min(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
//máximo
if(count(distinct Chave_Contrato)=
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),
max(total {<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>} aggr(count({<[Mês Ano Registro Contrato]=p([Mês Ano Registro Contrato])>}distinct Chave_Contrato),[Mês Ano Registro Contrato])),null()))
Mais uma vez agradeço pelo apoio!