Sort stacked time series

Hi!

How can i sort a stacked time series, from lowest to highest.

import "timezone"
import "experimental/array"

option location = timezone.location(name: "Europe/Vienna")

period = 1d

data = () => from(bucket: "weather")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "weather")
  |> filter(fn: (r) => r["_field"] == "tempc")
  |> aggregateWindow(every: 1h, fn: mean, createEmpty: false)
  |> drop(columns: ["_start", "_stop", "model", "submitted_by"])

p = [-25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45]

q = (v) => {
  d = data()
    |> filter(fn: (r) => r._value >= v and r._value < v + 5)
    |> aggregateWindow(every: period, fn: count, createEmpty: false)
    |> set(key: "_field", value: "${v} to ${v + 5}")
  return d
}

union(tables: p |> array.map(fn: (x) => (q(v: x))))

Thanks

can this help?

    |> sort(columns: ["your", "column", "tosort"])

Already tried this, but no change :-/

1 Like

how about sort transformation by grafana?

please provide some sample data as csv or line protocol? so we can try it in our influxdb since we dont have access to yours :wink:

Hi!

Problem solved!

I used transform rules, to transform multiple data frames to one single frame.

Thank you for your help!