1 Reply Latest reply: Jun 16, 2014 4:28 PM by Nathaniel Anderson RSS

    Equivalent of Spotfire Filter Panel

    Nathaniel Anderson

      I've never used Spotfire, but the client wants something like the "Filter Panel", seen in these screenshots:

       

      Here is some Spotfire Documentation Spotfire Filters ⊂ Spotfire Technology Network. I don't think it's relevant.

       

      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.
        • Re: Equivalent of Spotfire Filter Panel
          Nathaniel Anderson

          I was not familiar with Multibox; that is a built-in one-step solution.

          Some documentation

           

          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)

           

          I'll check out this post

          Show/hide a field in multibox