Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
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

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

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

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

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