And here are requirements that we are inferring from the Spotfire screenshots (PS
Can Search in a Search Box to filter $Fields
I don't mean you can Search to filter values, i.e. rows. QlikView is great at that.
I mean you can Search to filter $Fields; i.e. columns
Can choose which of the $Fields can be discovered here
A container object holds a separate component for each $Field the user picks from above
The component for each $Field is usually a standard List View, but it could be a slider, could be a customized List View
The component/$Field itself is searchable, to filter the values, and select among them. QlikView can do this easily, as stated above.
If the $Field is not selected, its component is not just invisible, it is collapsed
In CSS / HTML terms, I mean it's not just visibility:hidden, it is display:none.
In QlikView terms, I mean it's not just conditionally hidden, it will be removed from a "flow" of components, so the components beneath it will jump up to take its place.
I won't belabor more details. You probably know what I'm talking about. Have you made something like it?
I made three variations in QlikView.
The first uses Container object plus Search box against the $Fields dimension.
The second and third use a CrossTable to make a lookup based on all combinations of $Field+FieldValue (I know this seems like a hacky solution; the lookup will mean that QlikView associations (Green, white, grey) don't work as expected)
The second shows this in a Pivot table; the third shows this in a Hierarchical List View.
It is good ; it solves the main problem of "preventing multiple ListView filters from taking up too much screenspace" but I think Multibox falls short on these counts:
Can't search/filter which Fields are shown; must define it in Properties
See below, can apply a clever use of Subfield function to show rows only for those $Fields which the user has selected.
Can connect this with a Search which is pointed at the List of Fields , $Field, and which uses Wildcard search. See attached.
But this is not a single "dynamic" multibox, this is just a bunch of multiboxes (one for each filter; must be manually created by the developer); the Subfield and GetSelectedCount functions must be passed an index, "n" for each one
Each Multibox passes an incremented integer index to the Subfield function (third optional parameter) to decide which $Field to show
In addition, there is conditional visibility, requiring that the GetSelectedCount of $Field is >=n
This brings up important nuance; if the user hasn't selected any $Field at all, should this "Filter panel" be completely empty or completely full? I think completely full is less confusing.
Therefore I modified Multibox.qvw from the post below to 1) add a Search and 2) show all $Fields if none is selected
Can't search/filter which values (for a specific Field); it just shows a ListView pop
Can't choose something other than a ListView popup; i.e. can't show slider for numeric-type values, or text-search (i.e. autocomplete) for text-type values
Can't group Fields (apparently Spotfire Filter Panels can "group" under directories)