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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
muhammadasfand
Contributor II
Contributor II

Confusion with using Sum function for different units

Hi,

i have the following expression that is causing some issues in Count.

Sum({<TransDate={'>=$(=MonthStart(today(),-12))<=$(=MonthEnd(today(),-1))'}>}$(UnitValue))

$(UnitValue) is a variable that either passes 1 or a value of TEUs e.g. if($(vUnits)=0,TEUs,1)

In case of passing TEUs the sum comes perfect whereas while passing 1, i just want the sum function to behav like count function and just gives a count of all rows but its giving a bigger count than it should be. My problem is i have to stick with Sum in my expression.

Any suggestions?

Thanks,

1 Solution

Accepted Solutions
ogautier62
Specialist II
Specialist II

Hi,


with 1 :

it will count all rows of your database I think because you have no field

with that :

if($(vUnits)=0,TEUs,TEUs-TEUs+1)

it will count all not null rows of TEUs

(for the fun)

prefer Sunny's solution it's clean


View solution in original post

4 Replies
sunny_talwar
MVP
MVP

May be you can do this

If($(vUnits) = 0,

Sum({<TransDate={'>=$(=MonthStart(today(),-12))<=$(=MonthEnd(today(),-1))'}>} TEUs),

Count({<TransDate={'>=$(=MonthStart(today(),-12))<=$(=MonthEnd(today(),-1))'}>} 1))

ogautier62
Specialist II
Specialist II

Hi,


with 1 :

it will count all rows of your database I think because you have no field

with that :

if($(vUnits)=0,TEUs,TEUs-TEUs+1)

it will count all not null rows of TEUs

(for the fun)

prefer Sunny's solution it's clean


muhammadasfand
Contributor II
Contributor II
Author

You are right about it and i have already considered it the last solution. Ideally i want to do it using Sum() as i have so much conditional expressions and i don't want to do it that way it will increase a lot of code.

muhammadasfand
Contributor II
Contributor II
Author

That looks cool and seem to have worked.