Grafana showing no data when using calculations on a column + using transformation

i have a time series data row (with multiple graphs) und wanna do some calculations on a column, based on another column. I use transformation to display multiple graphs. When i add any simple calculation to the column, it just shows no data. When i deactivate the transformation, it shows the data but in just one single graph, which is not what i wanna achieve.

  • What Grafana version and what operating system are you using?
    Debian 5.10.162-1
    Grafana 9.4.7
    database is a MS SQL Server

  • What are you trying to achieve?
    Multiple linegraphs in one chart with calculations on a column

  • How are you trying to achieve it?
    This is my query:

SELECT Value * POWER(10, Scaler), CaptureTime, ObisRegister FROM readings

WHERE TafUid = $TafUid

and ObisRegister in ($ObisFilter)

and CaptureTime between $__timeFrom() AND $__timeTo()

So I wanna have a single Graph for every selected ObisRegister

  • What happened?
    Shows “no data”
    Here is the transform debug:

and when i delete the calculation on the Value column, it works fine but with wrong values

  • What did you expect to happen?
    see top

When I fire up the query in our DB it shows the values as expected. As You can see i can’t use another transformation for the calculations since it only provides basic operations.

Thanks for any advice in advance!

Do you have your query Format (right below datasource and above query) as time series or Table?

Not sure if I understand you right. I cant find this option in the section you describe. But if you mean the visualization in the top right of edit panel I used time series but was also trying table for debugging. In both cases I get no data

Seems it wasnt available in Version 9.4.7 if I’m not completely blind. Thank you, Ill update Grafana and see if it works

1 Like

Also change your query to

SELECT Value * POWER(10, Scaler) as value, 
       CaptureTime as time, 
       ObisRegister as metric
  FROM readings
 WHERE TafUid = $TafUid
   and ObisRegister in ($ObisFilter)
   and CaptureTime between $__timeFrom() AND $__timeTo()
 order by 2

Naming the columns did the trick, thanks a lot!

1 Like