Is it possible to group a bunch of text boxes together on an "island" if you will? What I need to do is have a bunch of differenct text boxes, each living on 8 or 9 different islands or containers. I then need to hide or show those "islands" based on a flag, in my case whether or not a Patient has certain conditions associated with them.
Ideally then, the islands would "collapse" up, so you are then only seeing the "islands" of data that you care about, and the display is neated sandwhiched to the top of the page.
Nope, well not without programming an extension and maybe not even then. There's no relative positioning in qlikview so objects can't collapse up or down.
You can show/hide groups of objects by simply using the same expression for conditional display. You can create a variable to hold that expression and then use the variable in the condition input field of the objects.
You'll have to arrange the layout of the text objects yourself to make sure groups don't overlap if it's possible that they should be visible at the same time.
yeah, I figured it wasn't possible. I've been working with QV awhile now and done a lot of different "layout magic" type stuff, but I wanted to double check on here.
The problem is we are trying to re-create a Crystal report that does the collapsing I need. There are 8 different "sections" that each show different patient metrics, based on the conditions a patient has. We dont want to show a "Diabetes" section if the patient doesn't have diabetes for example. However, they could have 3 or 4 other sections we want to show, so I'd need them to collapse up.
It would be really nice if Qlikview had this sort of capability.
Does each of the text object have the exact same properties (e.g., font, size, height, width) and the only difference is the expression used for the text display? If so, then the answer is yes! Here's how:
Load the expressions that are used in the text objects into a table in the qvw file.
Assign each expression an order number that corresponds to the order displayed in the sheet.
Assign each expression an easy to remember label that will be unique.
Link the expression to the filters based on which expressions should be used for each filter.
Use the following expression in each text box: Only(aggr(if(rank(Only(-[OrderField]))=[ExpressionIndex],[ExpressionField]),[LabelField]))
Where ExpressionIndex is the position of the text box, i.e., 1 for the first text box, 2 for the second and so on.
Essentially, this will create a series of generic text boxes where the expressions are determined by the user's selections. Of course, you will need as many text boxes as the max possible combination based on the user's selections.