Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
JASalinas
Creator
Creator

Only to show positive values in Table

Hi my friends, i have the next set analysis in my table

Presupuesto:

=((Sum({<[ACCNT_CODE]={"611110", "635110", "635120", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))

Real:

=(if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT]))))

Diferencia:

=(if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT]))

JASalinas_0-1621966889487.png

But i just want to show only positive values, help me please...

Labels (2)
1 Solution

Accepted Solutions
QFabian
MVP
MVP

 @JASalinas , you can take your entire formula, ask if it is positivo, show it again :

 

Diferencia:

if((if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])) >0,

(if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT]))

)

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.

View solution in original post

8 Replies
QFabian
MVP
MVP

 @JASalinas , you can take your entire formula, ask if it is positivo, show it again :

 

Diferencia:

if((if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])) >0,

(if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT]))

)

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.
JASalinas
Creator
Creator
Author

Thank you so much my friend, now if you allow me to ask you other question, How can i to have a counter only positve values?... Thanks in advance!...

QFabian
MVP
MVP

Debería ser algo así :

count(aggr((if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])), CampoNivelSuperior))

donde CampoNivelSuperior, será un campo que permita agrupar los valores, para luego contarlos.

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.
JASalinas
Creator
Creator
Author

ok, mira ya lo puse en un KPI y el resultado es cero, pero yo quisiera que solo contara los que estan en verde, Verde 16, rojos 2, porque la suma del counter es 18, la condicionante seria que sean mayores de 0 que cuente los que estan en verde y viceversa...

Gracias @QFabian por tu ayuda y por tu respuesta... saludos!...

QFabian
MVP
MVP

Claro, entonces toca poner toda la formula con el if, para que los cuente con el aggr

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.
JASalinas
Creator
Creator
Author

Mira hice esto:

count(Aggr(if((if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])) >0,

(if([YearPeriod] <= '2021' and [MonthNumPeriod] <= '1', (Sum({<[ACCNT_CODE]={"611110", "635110", "635140"},[LEDGER]={"A"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])),
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140", "368235"},[LEDGER]={"A"}, [FNCT]={"DT*"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT])))) -
(Sum({<[ACCNT_CODE]={"611110", "635110", "635140"}, [FNCT]={"DT*"}, [LEDGER]={"B"}, YearPeriod = {$(=(max(YearPeriod)))}>}[AMOUNT]))), distinct FNCT))

pero me sigue dando cero...

QFabian
MVP
MVP

talvez con unos datos de prueba podriamos revisar en detalle

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.
JASalinas
Creator
Creator
Author

Amigo si quieres nos ponemos de acuerdo, y entras a mi compu con teamvier gracias nuevamente por tu ayuda,  +52 9993221163 estoy en México... y podemos probar... tu me dices perdón si estoy abusando de tu ayuda... y si das cursos estoy interesado también jejeje....