I would like to suggest adding an option to add annotations to charts as a “second layer” of information in order to give users a better understanding of the data.

My use case:
In the company I’m working for, the account managers always keep an eye on a chart which represents the general activity of the clients or something even diving deep and focus on a specific client and they always try to understand the source of each anomaly. currently, their only option is to manually access different data sources (activity logs, billing transactions, and others) which consume too much of their time. combine all the relevant data from multiple data sources and put it on top of the relevant chart will boost their productivity.

Implementation:
I think that this feature should support getting data from multiple sources, such as:

  • Queries running on different data sources
  • Option to create annotations via Rest API
  • Option to manually create annotations by clicking on the relevant in the UI

Related information:
You can take a look at this feature implemented by Grafana:
http://docs.grafana.org/reference/annotations/

2 Likes

Fully in sync with this new request.
This is really helpful in order to help user to consume reports through a team

Good idea! Sometimes some diagrams involving business also need to add some comments, such as the label of major events, to facilitate the analysis of reasons.

Relevant GitHub issue:

hey team, has this feature been released and if so where can i find it in the UI?

would be an amazing use case for me =)

This feature is not part of Redash yet.

1 Like

This is not a perfect solution but a “trick” working in some cases on v11 :

Code :

-- table example
with data(year, annotation, value) AS (
  SELECT
    *
  FROM
    (
      VALUES
        (1967, null, 10),
        (1968, null, 11),
        (1969, null, 12),
        (1970, null, 13),
        (1971, null, 14),
        (1972, null, 15),
        (1973, 'oil shock', 16),
        (1974, null, 3),
        (1975, null, 2),
        (1976, null, 2)
    )
)
-- request
SELECT
  year,
  value,
  CASE
    WHEN annotation is not null THEN value
    ELSE null
  END AS "copy_value",
  COALESCE(annotation, ' ') AS "annotation"
FROM
  data

Graph options :

I hope this will help you. :slight_smile: