Skip to main content
Solved

CDF/Grafana: Synthetic time series alignment results in interpolated "ghost values"

  • February 5, 2026
  • 2 replies
  • 25 views

I have a bit of a conundrum here. I am trying to visualize the daily and weekly averages of a time series in Azure Managed Grafana v11.6.3 using the CDF datasource. Raw data is strictly on hourly resolution, and provided in CET/CEST. Grafana is set to browser tz (i.e. CET/CEST). I need the daily average to align with CET midnight (=23:00 UTC). 

I use these synthetic series parameters: aggregate='average', granularity='24h', alignment=82800000 (82800000 aligns the datapoints to the correct hour if I do aggregate='step_interpolation', granularity='1h'). 

The returned value is neither the UTC day average or the CET day average. It is exactly the average of the two. So from what I see it seems to be a 30-minute shift/interpolation in the backend. 

Case in point: CET day average for a specific day is 158,67, while its UTC equivalent is 159,83 (see screenshot). Neither value is found in Grafana for that day at 00:00 - here I see 159,25. Which coincidentally is equal to (158,67+159,83)/2. 

The time range in the panel is from midnight to midnight, so there shouldn’t be any issue relating to a “now” time macro. I have tried a whole bunch of various alignments, but to no avail. Granularity=’1d’ was also not helping. 

Is this a bug? 

All the best

Tor

 

 

Best answer by matiasholte

Hi

Can you check if the time series is isStep=false? If that is the case, the average is calculated as if the time series gradually changes from one data point to the next. The average will then be the value in between the two points, in other words, shifted 30 minutes.
 

If you want the time series to be constant until it changes, you can update it to set isStep=true, (or in data modelling if it was created there)

Also see documentation on step vs continuous

Best,

Matias

2 replies

matiasholte
Practitioner
  • Backend developer
  • Answer
  • February 6, 2026

Hi

Can you check if the time series is isStep=false? If that is the case, the average is calculated as if the time series gradually changes from one data point to the next. The average will then be the value in between the two points, in other words, shifted 30 minutes.
 

If you want the time series to be constant until it changes, you can update it to set isStep=true, (or in data modelling if it was created there)

Also see documentation on step vs continuous

Best,

Matias


Hello Matias

Thank you so much for this. You were correct to assume this, it was indeed isStep=false. I changed one time series to true to test (we use the data modeling concept, FWIW), and it solved the issue beautifully.

Thanks again, and have a good weekend!

All the best

Tor