Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Tenho um painel que compara a quantidade de cliente que movimentaram no ano atual com os que movimentaram no ano anterior. Para o ano anterior estou usando a fórmula abaixo, mas volta o mesmo resultado do ano atual:
count(distinct{<$(=[Dt_EMISSAO.autoCalendar.Year]) =
{"<$(=Max(Dt_EMISSAO.autoCalendar.Year))"}
>}ID_Cliente
)
Alguém pode ajudar?
tks
Sua expressão contém um erro:
count({<[F2_EMISSAO.autoCalendar.Year]= {$(=Year(today()-1))}>}distinct ID_Cliente)
O correto é:
count({<[F2_EMISSAO.autoCalendar.Year]= {$(=Year(today())-1)}>}distinct ID_Cliente)
O -1 vai fora da função year.
Veja o que fiz com o qvf que você mandou:
Use:
count({<[Dt_EMISSAO.autoCalendar.Year]) ={$(=Max(Dt_EMISSAO.autoCalendar.Year)-1)}>}distinct ID_Cliente)
Thiago, obrigado pela resposta.
Sua fórmula ficou bem mais simples!, mas Fiz o ajuste e continua mostrando o resultado do ano atual.
Isso deve ocorrer pois você deve ter dado para o ano 2019 (alguma "sujeira" talvez). Teste:
count({<[Dt_EMISSAO.autoCalendar.Year]) ={$(Year(Today ())-1)}>}distinct ID_Cliente)
Thiago, tem algo estranho. Até quando forço a data 2017 ele traz como resultado o mesmo valor. Dá impressão que está ignorando a condição.
Usei:
count({< $(=[DT_EMISSAO.autoCalendar.Year]) = 2017>}distinct ID_Cliente)
e traz a totalização de 2018..
Complementando, rodei por partes só para ajudar
1- max(DT_EMISSAO.autoCalendar.Year) - retornou: 43101
2 - Year(Max(DT_EMISSAO.autoCalendar.Year)) - Retornou: 2018
3 - year(Max(DT_EMISSAO.autoCalendar.Year)-1) - Retornou: 2017, que é o que preciso
4- count({< $(=[DT_EMISSAO.autoCalendar.Year]) = {$(=year(today()-1))} >}distinct ID_Cliente) - Retornou 171
5- count({< $(=[DT_EMISSAO.autoCalendar.Year] = 2018) >}distinct ID_Cliente) - Retornou 171
6- count({< $(=[DT_EMISSAO.autoCalendar.Year] = 2000) >}distinct ID_Cliente) - Retornou 171
Dá a impressão que está ignorando a condição...
Já testei, conforme exemplo, não tem sujeira.. dá a impressão que não está considerando as condições, porque qualquer coisa que coloco na condição, traz como se fosse um count full
Pra contar os registros no ano de 2017 você usar a expressão assim:
count({<[DT_EMISSAO.autoCalendar.Year]= {2017}>}distinct ID_Cliente)
Veja algumas observações:
1- max(DT_EMISSAO.autoCalendar.Year) - retornou: 43101 = 01/01/2018 - Sua maior data no BI;
2 - Year(Max(DT_EMISSAO.autoCalendar.Year)) - Retornou: 2018
3 - year(Max(DT_EMISSAO.autoCalendar.Year)-1) - Retornou: 2017, que é o que preciso
4- count({< $(=[DT_EMISSAO.autoCalendar.Year]) = {$(=year(today()-1))} >}distinct ID_Cliente) - Retornou 171 - Set analysis está errado - o correto seria count({<[DT_EMISSAO.autoCalendar.Year] = {$(=Year(today()-1))}>}distinct ID_Cliente) - count para 2017
5- count({< $(=[DT_EMISSAO.autoCalendar.Year] = 2018) >}distinct ID_Cliente) - Retornou 171 - Set analysis está errado - o correto seria count({<[DT_EMISSAO.autoCalendar.Year] = {2018}>}distinct ID_Cliente)
6- count({< $(=[DT_EMISSAO.autoCalendar.Year] = 2000) >}distinct ID_Cliente) - Retornou 171
- Set analysis está errado - o correto seria count({<[DT_EMISSAO.autoCalendar.Year] = {2017}>}distinct ID_Cliente)
count({<[DT_EMISSAO.autoCalendar.Year] = {2018}>}distinct ID_Cliente) - Resultado: 572
count({<[DT_EMISSAO.autoCalendar.Year] = {2017}>}distinct ID_Cliente) - Resultado: 572
count({<[DT_EMISSAO.autoCalendar.Year] = {1975}>}distinct ID_Cliente) - Resultado: 572
count({<[DT_EMISSAO.autoCalendar.Year] = {0000}>}distinct ID_Cliente) - Resultado: 572
count(distinct ID_Cliente) - Resultado: 572
Então Thiago, não está obedecendo a condição.