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: 
Not applicable

Chart Query

Hi All


I have a bar chart and have added Total at the last(from dimension limits) and now I was trying to apply bar offset to apply waterfall effect in all bar except the "Total" bar in the end and the first one

I tried the below expression but its now working


if(RowNo()<= Count(DISTINCT [City),RangeSum(Above(Sum(Sales), 1, RowNo())),0)

1 Solution

Accepted Solutions
jagan
Partner - Champion III
Partner - Champion III

Hi,

Put it in a variable and refer it in the expression.  It is working for me.

Regards,

Jagan.

View solution in original post

9 Replies
MK_QSL
MVP
MVP

Sample Apps or Data pls !

Not applicable
Author

Hi Manish,

Thanks for help.  I have attached the sample data and chart I want to create .

I have added the formula in bar offset

if(RowNo()<=5,RangeSum(Above(Sum(Sales), 1, RowNo())),0)

I want  5 to be picked dynamically. I tried to use

if(RowNo()<= Count(DISTINCT Country ),RangeSum(Above(Sum(Sales), 1, RowNo())),0)

but its not working

Many thanks for your help and time

jagan
Partner - Champion III
Partner - Champion III

Hi,

Try this expression

if(RowNo()<= Count(DISTINCT Country),RangeSum(Above(Sum(Sales), 1, RowNo())),0)

Regards,

Jagan.

Not applicable
Author

hi Jagan,

It's not working. I already tried that

jagan
Partner - Champion III
Partner - Champion III

Hi,

Put it in a variable and refer it in the expression.  It is working for me.

Regards,

Jagan.

jagan
Partner - Champion III
Partner - Champion III

Hi,

Please find attached file.

Regards,

jagan.

Not applicable
Author

Thanks its working fine

jagan
Partner - Champion III
Partner - Champion III

HI,

In Variable declaration give = and in expression you can directly use

if(RowNo()<= vtop,RangeSum(Above(Sum(Sales), 1, RowNo())),0)


Refer attachment in previous thread.


Hope this helps you.


Regards,

Jagan.

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

I think it's preferable to use dimensionality() to test for the total row.

if(Dimensionality()>0,RangeSum(Above(Sum(Sales), 1, RowNo())),0)

-Rob