1 Reply Latest reply: Mar 28, 2017 5:41 AM by Sunny Talwar RSS

    Creating Mini Charts in Qlik Sense is possible.

    omar bensalem

      Hi all,

       

      Mini Charts has always been a good feature in QlikView and It's really 'frustrating' that this has not been added (yet) in Qlik Sense.

      With hopes that the Qlik Team will think about such improvements for the next releases, let's discuss here how to create our own mini chart in a Qlik Sense Table.

       

      Suppose we have:

      As a dimension: OICA Region

      As measures:

      Sum(Sales)

      Sum("Commercial Vehicle Sales")

      Sum(Sales) / (Sum(Sales)+Sum("Commercial Vehicle Sales"))

       

       

      Here is our current table:

      Capture.PNG

       

       

      Now, we want to add, a mini 'bar' to represent the %:

      How to do so:

       

      As an expression:

      =repeat('█',

                        rangemax(rangemin( ceil(((column(1)/column(2))-1)*2.5),10),0)

                        )

       

      With that, we repeat the square sign and precise the limits.

       

      And as a text expression:

      if( (sum([Car sales])/(sum([Car sales])+sum([Commercial vehicle sales])))>=0.8,Green(),

      if((sum([Car sales])/(sum([Car sales])+sum([Commercial vehicle sales])))>=0.7,Yellow(),

      Red()))

       

      Result:

      Capture.PNG

       

      We can also Add the % in front of the bar by adding it in the expression:

       

      From :

      =repeat('█',

                        rangemax(rangemin( ceil(((column(1)/column(2))-1)*2.5),10),0)

                        )


      To:

      =repeat('█',

                        rangemax(rangemin( ceil(((column(1)/column(2))-1)*2.5),10),0)

                        ) & num((sum([Car sales])/(sum([Car sales])+sum([Commercial vehicle sales]))),'# ##0,00%')


      Result:


      Capture.PNG




      Now, let's suppose we want to add another mini chart, a trend one, to see the % expression by Year:

      If it has increased or decreased from a year to the next one.

      How to do so?

       

      Expression:

      =concat(

              aggr(

                   if((sum([Car sales])/(sum([Car sales])+sum([Commercial vehicle sales]))) > above((sum([Car sales])/(sum([Car sales])+sum([Commercial vehicle sales])))),

                     '▀',if((sum([Car sales])/(sum([Car sales])+sum([Commercial vehicle sales]))) < above((sum([Car sales])/(sum([Car sales])+sum([Commercial vehicle sales])))),'▄',' ')

                   )

                   ,[OICA region], (Year,(NUMERIC, ASCENDING))

              )

      ,'',[OICA region])

       

       

      Wirh:

      Red: Our Dimension

      Green: The trending dimension

      Blue: our expression compared to the previous one (by year, the trending expression)

       

       

      If expression by Year > expression Previous Year then , Square Up

      If expression by Year < expression Previous Year then , Square down

      Result:

       

      Capture.PNG

       

      Special thanks to blog Von Heldendaten in which I found this:

      QlikView + Qlik Sense Blog von Heldendaten: Qlik Sense Calendar Measures & "Minicharts" in Tabellen.

       

      Hope you like it !

      Omar,