Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
On Demand Webinar: See Why Thousands of QlikView Users Have Switched to Qlik Sense. REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
DaniCalifornia
Contributor II
Contributor II

Eliminate blank rows from list box

I am using an expression to display the contents of a list box. The contents change depending on which category is selected. It gives me the right selections, but it gives me a ton of grey, blank rows which is a HUGE problem and makes it unusable. Attached is an image of what it looks like - my scroll is only a fraction of the way down and there is just tons of grey space, making the scroll bar pretty much useless. How do I get rid of all of these blank lines? 

I am using the following expression to populate my list box, where vMemAdvFltrColumn is populated by the category selection: 

=AGGR(ONLY({1<
[RatingParentOrganizationNameLong] = $::[RatingParentOrganizationNameLong],
[OrganizationNameLong] = $::[OrganizationNameLong],
[OrgKey] = $::[OrgKey],
[OrgKey1] = $::[OrgKey1],
[RatingGroupShort] = $:: [RatingGroupShort],
[EiaCoverageShort] = $::[EiaCoverageShort],
[ClaimsAdministratorOrganizationName] =$:: [ClaimsAdministratorOrganizationName],
[OrganizationDetailTypeRoll1Long] = $::[OrganizationDetailTypeRoll1Long] >}
$(vMemAdvFltrColumn)),$(vMemAdvFltrColumn))

I have it set to hide excluded. I have tried various things I found on the forum, but with no luck - they all give the same result. 

I resorted to a straight table, but it just doesn't work as well as I have to add a search bar to achieve any reasonable search ability and then there is no associative search and the display and navigation is clunky. I really need this to work as a list box. 

Labels (3)
4 Replies
jwjackso
Specialist II
Specialist II

It is not elegant, but have you considered having multiple list boxes stacked on top of each other and use the category selection to determine which list box is visible?

 

Another way may be to create a trigger to populate the variable expression based on the category selection.

 

The multiple list boxes will be faster to create.

DaniCalifornia
Contributor II
Contributor II

I think the project started with 6 different list boxes, which was extremely painful in development when I was moving things around, playing with colors and borders and things. It was very difficult to get the transition to look seamless. 

I ended up putting this in a straight table and adding 6 different search bars to search the various categories. Then I reloaded my data with a couple of repetitive columns so that I could use friendly names in the search bar (since I can't rename them!). It ends up working pretty well - possibly better? 

My boss still insists that there is an issue if I can't omit those rows and wants me to figure it out. He's not into workarounds. But it seems that either which way, I need to create 6 list boxes or 6 search bars and hide and show them. I would be interested to know if anyone has something that is elegant? Or is this the only way? 

 

 

marcus_sommer
MVP & Luminary
MVP & Luminary

Just an idea - trying the following approach:

aggr(if(len(trim(YourExpression))>1, YourExpression), YourDimension)

- Marcus

jonathandienst

Hide Excluded is a little misleading  - it simply replaces the excluded with a gray bar which is what you are seeing. The question is, why are there excluded values?

This is what i think is happening - the context for the Aggr() expression is current selections. And your expression is overriding all selections other than those itemized in the set, which means that it returns values that are excluded in the current selections. So to change the context for the Aggr():

=AGGR({1<
	[RatingParentOrganizationNameLong] = $::[RatingParentOrganizationNameLong],
	[OrganizationNameLong] = $::[OrganizationNameLong],
	[OrgKey] = $::[OrgKey],
	[OrgKey1] = $::[OrgKey1],
	[RatingGroupShort] = $:: [RatingGroupShort],
	[EiaCoverageShort] = $::[EiaCoverageShort],
	[ClaimsAdministratorOrganizationName] =$:: [ClaimsAdministratorOrganizationName],
	[OrganizationDetailTypeRoll1Long] = $::[OrganizationDetailTypeRoll1Long] 
>} 
ONLY({1<
	[RatingParentOrganizationNameLong] = $::[RatingParentOrganizationNameLong],
	[OrganizationNameLong] = $::[OrganizationNameLong],
	[OrgKey] = $::[OrgKey],
	[OrgKey1] = $::[OrgKey1],
	[RatingGroupShort] = $:: [RatingGroupShort],
	[EiaCoverageShort] = $::[EiaCoverageShort],
	[ClaimsAdministratorOrganizationName] =$:: [ClaimsAdministratorOrganizationName],
	[OrganizationDetailTypeRoll1Long] = $::[OrganizationDetailTypeRoll1Long] 
>}
$(vMemAdvFltrColumn)),$(vMemAdvFltrColumn))

The set expression on the only may no longer be needed - I am not sure without testing.

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein