官术网_书友最值得收藏!

Replacing the legend in a line chart with labels on each line

One of the problems with a standard QlikView line chart is that the legend is somewhat removed from the chart, and it can be difficult to keep going back and forth between the legend and the data to work out which line is which.

A way of resolving this is to remove the legend and replace it with labels on each line.

Getting ready

Load the following script:

CrossTable(Country, Sales)
LOAD * INLINE [
    Date, USA, UK, Japan, Germany
    2013-01-01, 123, 100, 80, 40
    2013-02-01, 134, 111, 75, 50
    2013-03-01, 155,  95, 70, 60
    2013-04-01, 165,  85, 88, 50
    2013-05-01, 154, 125, 90, 70
    2013-06-01, 133, 110, 75, 99
];

How to do it…

These steps will create a line chart with labels on each line instead of a legend:

  1. Add a new line chart. Add two dimensions, Date and Country.
  2. Add the following expression:
    Dual(
       If(Date=Max(total Date), Country, ''),
       Sum(Sales)
    )
  3. On the Expressions tab, ensure that the Values on Data Points option is checked.
  4. Click on Next until you get to the Presentation tab. Deselect the Show Legend option.
  5. Click on Finish on the wizard.

How it works…

The Dual function will only return a text value when the date matches the maximum date. Otherwise, it is blank. So, when we enable the Values on Data Points option, it only displays a value for the last data point.

It is critical that you don't set a number format for the expression. The Expression Default option means that it will use the text from the dual.

There's more…

Dual is a really useful function to allow us to define exactly what will be displayed on labels such as this. It is also really useful for sorting text values in a specific order.

See also

  • The Staggering labels in a pie chart recipe
主站蜘蛛池模板: 丹寨县| 陆河县| 天水市| 集贤县| 榕江县| 育儿| 澄迈县| 湘阴县| 东光县| 永福县| 乐业县| 温泉县| 内丘县| 克拉玛依市| 平昌县| 海门市| 翼城县| 开阳县| 桂东县| 新闻| 台东市| 大庆市| 黄梅县| 涿州市| 巩义市| 奉贤区| 通化市| 镇原县| 永靖县| 琼海市| 徐州市| 繁峙县| 英超| 伊通| 呼图壁县| 铜山县| 郧西县| 深泽县| 九寨沟县| 北宁市| 阿拉善盟|