Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

cancel
Showing results for 
Search instead for 
Did you mean: 
Luke_Killer_IT
Creator
Creator

hiding zeros in the expression

Hello everyone,

I would like to hide the data where the zeros are, as I wrote in std and std_av, but these columns are expressions

Luke_Killer_IT_0-1629704375921.png

 

1 Solution

Accepted Solutions
marcus_sommer
MVP & Luminary
MVP & Luminary

Interrecord-functions like above() consider only existing records - if they are removed (this term fits better as hidden records which means existing but not visible) you couldn't calculate with them. Therefore I suggest to consider not to remove those rows else to keep them because they aren't wrong else zero and/or NULL values within certain cells/rows are also valuable information. Beside this it may also helpful to use more as one - more specialized - objects to display all needed information.

Nevertheless there are possibilities to overcome such challenges by applying at least one additionally calculation-step. This means the inner aggregation need to ignore these condition and/or possible selections with a set analysis statement and/or an aggr() construct which forces all values on the inside and on the outside it needs conditions again to respect the origin conditions/selections. Such an approach is possible but not always trivial.

- Marcus

View solution in original post

5 Replies
marcus_sommer
MVP & Luminary
MVP & Luminary

You need to query those values and applying this condition within the relevant dimensions/expressions. It depends on your data-model and the requirements which way dimension(s) and/or expressions is more suitable. If aggregations are needed it's often better to put the conditions within the expressions and not in the dimension because they would require aggr() constructs. I think I would tend using something like this:

if(rangemin(1, rangesum(Std, Std_AV)), KW)

- Marcus

Luke_Killer_IT
Creator
Creator
Author

yes yes, now it shows me only data for std and std_av but it inserted empty fields and how to hide them ?

Luke_Killer_IT_0-1629710568222.png

 

marcus_sommer
MVP & Luminary
MVP & Luminary

My suggestion was meant to replace the dimension and not to add an expression. Especially if there is only a single dimension it seems to be the easiest way. If you want to apply it on an expression-level you may use:

YourExpression * rangemin(1, rangesum(Std, Std_AV))

- Marcus

Luke_Killer_IT
Creator
Creator
Author

yes great it removed the zeros thank you but now there was a problem with the counting

Luke_Killer_IT_0-1629713937542.png

Luke_Killer_IT_0-1629714971960.png

 

 

marcus_sommer
MVP & Luminary
MVP & Luminary

Interrecord-functions like above() consider only existing records - if they are removed (this term fits better as hidden records which means existing but not visible) you couldn't calculate with them. Therefore I suggest to consider not to remove those rows else to keep them because they aren't wrong else zero and/or NULL values within certain cells/rows are also valuable information. Beside this it may also helpful to use more as one - more specialized - objects to display all needed information.

Nevertheless there are possibilities to overcome such challenges by applying at least one additionally calculation-step. This means the inner aggregation need to ignore these condition and/or possible selections with a set analysis statement and/or an aggr() construct which forces all values on the inside and on the outside it needs conditions again to respect the origin conditions/selections. Such an approach is possible but not always trivial.

- Marcus

View solution in original post