Repository navigation
Expand file tree
/
Copy pathsample_query_input.json
More file actions
25 lines (25 loc) · 2.35 KB
/
Copy pathsample_query_input.json
File metadata and controls
25 lines (25 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"query_json": {
"from": "1755422054728",
"to": "1756026854728",
"queries": [
{
"refId": "A",
"datasource": {
"type": "influxdb",
"uid": "cetae2ecaiwowa"
},
"datasourceId": 1,
"intervalMs": 900000,
"maxDataPoints": 790,
"hide": false,
"query": "base =\n from(bucket: \"pms_bucket\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"2206600812\")\n // treat 0 as \"no data\"\n |> filter(fn: (r) => exists r._value and r._value != 0.0)\n |> keep(columns: [\"_measurement\", \"_field\", \"_value\"])\n |> group(columns: [\"_measurement\", \"_field\"])\n\nstats =\n base\n |> reduce(\n fn: (r, accumulator) => ({\n count: accumulator.count + 1.0,\n sum: accumulator.sum + r._value,\n min: if accumulator.count == 0.0 or r._value < accumulator.min then r._value else accumulator.min,\n max: if accumulator.count == 0.0 or r._value > accumulator.max then r._value else accumulator.max\n }),\n identity: {count: 0.0, sum: 0.0, min: 0.0, max: 0.0}\n )\n |> map(fn: (r) => ({\n Metric: r._field,\n Min: r.min,\n Mean: if r.count > 0.0 then r.sum / r.count else 0.0,\n Max: r.max,\n Measurement: r._measurement\n }))\n\n// --- Clean names (good for further calculations)\nstats\n |> rename(columns: {Metric: \"KPI Name\", Measurement: \"Radio Serial Number\"})\n |> keep(columns: [\"KPI Name\", \"Min\", \"Mean\", \"Max\", \"Radio Serial Number\"])\n |> sort(columns: [\"KPI Name\"]) \n |> yield(name: \"kpi_numeric\")\n\n// --- Pinned display (forces KPI Name left-most in a Table panel)\nstats\n |> rename(columns: {Metric: \"KPI_Name\", Measurement: \"Radio_Serial_Number\"})\n |> map(fn: (r) => ({\n \"00_KPI Name\": r.KPI_Name,\n \"01_Min\": string(v: r.Min),\n \"02_Mean\": string(v: r.Mean),\n \"03_Max\": string(v: r.Max),\n \"04_Radio Serial Number\": r.Radio_Serial_Number\n }))\n |> yield(name: \"kpi_display_pinned\")"
}
]
},
"range": {
"from_date": "2025-08-17T09:14:14.728Z",
"to_date": "2025-08-24T09:14:14.728Z"
},
"grafana_url": "http://192.168.9.112:3001"
}