Expressionless and Dimensionless Charts

We usually think of charts as having both Dimensions and Expressions. But that’s not always the case. Sometimes it’s useful to have only one or the other.

A Straight Table with Dimensions and no Expressions is very similar to a Table Box. Unlike a Table Box, you can add Expressions later if needed and you also get improved styling options.






The trick to getting rows to display when there are no Expressions is to uncheck “Suppress Zero-Values” on the chart properties Presentation pane.









A Dimensions only Pivot Table is a useful way to display a hierarchy. This can look very nice with the Indent style.







Charts may also contain Expressions only — no Dimensions. Here’s a Straight Table with two expressions and no Dimensions.



We get a single row table — the sum of all data — along with a redundant Total line. By turning off the Totals and doing some styling, we can build a nice KPI display in a single table without needing to line up multiple text objects.





We get the full power of Straight table layout and styling, number formats, visual cues etc. I flipped the columns to the horizontal by checking “Horizontal” on the Presentation pane.

Bar Charts may also be created without Dimensions. Each Expression is plotted as a separate bar, in either the grouped or stacked style.







When an Expression only Bar Chart is stacked and oriented horizontal, it can be an  interesting alternative to the Linear Gauge chart.

Free your mind from the idea that a chart always has Dimensions and Expressions and have some fun.

13 thoughts on “Expressionless and Dimensionless Charts”

  1. Hi Rob,
    Thanks for sharing these great tips.

    We have been experimenting with dimensionless funnel charts but have not had luck in displaying values properly in the sections. Each subsequent section includes the previous value making the last section very crowded.

    We are visualizing the attrition of the student registration cycle by status type. Since we use set-analysis to combine statuses in the expression, we don’t use the status dimension.
    Our work-around is to include values in the legend. Any ideas on how to get the values to display individually in the chart?

    1. Tough to answer without a bit of data. Can you post some data here or contact me via the Contact form on this website so we can have an email exchange?


  2. Nice Idea Rob.
    In couple of assignments, I’ve used straight table with no dimensions to show summary of all the metrics present in dashboard.


  3. Hi Rob, thanks for a great Master Summit in Amsterdam!

    How do you solve the KPI table above? Is there an IF function with some kind of row awareness in the expression?

    1. Hi Niklas,
      Each row of the KPI straight table is a separate Expression. The property “Horizontal” is checked on the Presentaion pane to transpose columns to rows.

      1. Hi Rob,
        very interesting. I have used your suggested solution but I have an issue on that. If the first expression is null, the chart returns “no data to display”; this is due to the fact that I had set a continuous axis; If I don’t use this option the bars are alligned to the left of the chart and the output is not what my users expect. Any suggestion please? Thanks in advance for any feedback

        1. @Andrea, how about ensuring that the expression is not null by using a conditional like alt() ?

          1. Thanks Rob, I didn’t know this function but it seems it does not work. However I put an “if” to set zero if the expression results null and I solved the issue thanks to your suggestion.

  4. I have a problem with in Expression in charts like

    Actually in qlikview Bar chart default it takes the
    Expression as legend when we give the Multiple Expressions But I don’t want the this when we give the multiple Expressions.

    is there any option is there SETTINGS


  5. Hi Rob,

    How do I get the representation of YOY Sles formatted as yours appears above? I tried using visual cues, but that doesn’t cover the arrow your table displays.

    1. Hi Molly,

      I created the arrow in the num format pattern using chr() function; chr(9650) up-arrow for positive numbers, chr(9660) down-arrow for negative.

      sum(LineSalesAmount*CYTDFlag) /
      ,chr(9650) & ‘#,##0.0%;’ & chr(9660) & ‘#,##0.0%’

Leave a Reply

Your email address will not be published.