I will be able to get my data to look like the following flux query. With the source and destinations to create alle the required nodes and links.
Flux data example
import "array"
import "experimental"
import "internal/debug"
data = array.from(rows: [
{Source: "Net", Destination: "IT", measurement: "MCC0801001", _field: "E", _value: 9000.0},
{Source: "IT", Destination: "Motor 1", measurement: "MCC0801002", _field: "E", _value: 1000.0},
{Source: "IT", Destination: "Motor 2", measurement: "MCC0801003", _field: "E", _value: 1000.0},
{Source: "IT", Destination: "Motor 3", measurement: "MCC0801004", _field: "E", _value: 1000.0},
{Source: "IT", Destination: "Motor 4", measurement: "MCC0801005", _field: "E", _value: 1000.0},
{Source: "Net", Destination: "TNS", measurement: "MCC0801006", _field: "E", _value: 3000.0},
{Source: "TNS", Destination: "Tracing", measurement: "MCC0801007", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "Verlichting", measurement: "MCC0801008", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "LS SHR", measurement: "MCC0801009", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "LS N2 SOL", measurement: "MCC0801010", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "LS Brand", measurement: "MCC0801011", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "UPS", measurement: "MCC0801012", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "VH1", measurement: "MCC0801013", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "VH2", measurement: "MCC0801014", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "PH", measurement: "MCC0801015", _field: "E", _value: 30.0},
{Source: "TNS", Destination: "Spoel", measurement: "MCC0801016", _field: "E", _value: 30.0},
{Source: "UPS", Destination: "24V", measurement: "MCC0801017", _field: "E", _value: 30.0},
{Source: "24V", Destination: "PLC SOL", measurement: "MCC0801018", _field: "E", _value: 10.0},
{Source: "24V", Destination: "PLC WZI", measurement: "MCC0801019", _field: "E", _value: 20.0},
])
data
|> yield(name: "mean")
And I also have enough knowledge of javascript to transform the data into an object that is required:
Query result JSON
{
"request": {
"url": "api/ds/query?ds_type=influxdb&requestId=Q108",
"method": "POST",
"data": {
"queries": [
{
"datasource": {
"type": "influxdb",
"uid": "d2e8207f-5c27-4d75-917f-1d18a39e5ecf"
},
"hide": false,
"query": "import \"array\"\r\nimport \"experimental\"\r\nimport \"internal/debug\"\r\n\r\ndata = array.from(rows: [\r\n {Source: \"Net\", Destination: \"IT\", measurement: \"MCC0801001\", _field: \"E\", _value: 9000.0},\r\n {Source: \"IT\", Destination: \"Motor 1\", measurement: \"MCC0801002\", _field: \"E\", _value: 1000.0},\r\n {Source: \"IT\", Destination: \"Motor 2\", measurement: \"MCC0801003\", _field: \"E\", _value: 1000.0},\r\n {Source: \"IT\", Destination: \"Motor 3\", measurement: \"MCC0801004\", _field: \"E\", _value: 1000.0},\r\n {Source: \"IT\", Destination: \"Motor 4\", measurement: \"MCC0801005\", _field: \"E\", _value: 1000.0},\r\n {Source: \"Net\", Destination: \"TNS\", measurement: \"MCC0801006\", _field: \"E\", _value: 3000.0},\r\n {Source: \"TNS\", Destination: \"Tracing\", measurement: \"MCC0801007\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"Verlichting\", measurement: \"MCC0801008\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"LS SHR\", measurement: \"MCC0801009\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"LS N2 SOL\", measurement: \"MCC0801010\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"LS Brand\", measurement: \"MCC0801011\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"UPS\", measurement: \"MCC0801012\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"VH1\", measurement: \"MCC0801013\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"VH2\", measurement: \"MCC0801014\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"PH\", measurement: \"MCC0801015\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"Spoel\", measurement: \"MCC0801016\", _field: \"E\", _value: 30.0},\r\n {Source: \"UPS\", Destination: \"24V\", measurement: \"MCC0801017\", _field: \"E\", _value: 30.0},\r\n {Source: \"24V\", Destination: \"PLC SOL\", measurement: \"MCC0801018\", _field: \"E\", _value: 10.0},\r\n {Source: \"24V\", Destination: \"PLC WZI\", measurement: \"MCC0801019\", _field: \"E\", _value: 20.0},\r\n])\r\n\r\ndata\r\n |> yield(name: \"mean\")",
"refId": "A",
"policy": "",
"datasourceId": 7,
"intervalMs": 20000,
"maxDataPoints": 1090
}
],
"range": {
"from": "2025-08-01T08:54:12.797Z",
"to": "2025-08-01T14:54:12.797Z",
"raw": {
"from": "now-6h",
"to": "now"
}
},
"from": "1754038452797",
"to": "1754060052797"
},
"hideFromInspector": false
},
"response": {
"results": {
"A": {
"status": 200,
"frames": [
{
"schema": {
"refId": "A",
"meta": {
"typeVersion": [
0,
0
],
"executedQueryString": "import \"array\"\r\nimport \"experimental\"\r\nimport \"internal/debug\"\r\n\r\ndata = array.from(rows: [\r\n {Source: \"Net\", Destination: \"IT\", measurement: \"MCC0801001\", _field: \"E\", _value: 9000.0},\r\n {Source: \"IT\", Destination: \"Motor 1\", measurement: \"MCC0801002\", _field: \"E\", _value: 1000.0},\r\n {Source: \"IT\", Destination: \"Motor 2\", measurement: \"MCC0801003\", _field: \"E\", _value: 1000.0},\r\n {Source: \"IT\", Destination: \"Motor 3\", measurement: \"MCC0801004\", _field: \"E\", _value: 1000.0},\r\n {Source: \"IT\", Destination: \"Motor 4\", measurement: \"MCC0801005\", _field: \"E\", _value: 1000.0},\r\n {Source: \"Net\", Destination: \"TNS\", measurement: \"MCC0801006\", _field: \"E\", _value: 3000.0},\r\n {Source: \"TNS\", Destination: \"Tracing\", measurement: \"MCC0801007\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"Verlichting\", measurement: \"MCC0801008\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"LS SHR\", measurement: \"MCC0801009\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"LS N2 SOL\", measurement: \"MCC0801010\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"LS Brand\", measurement: \"MCC0801011\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"UPS\", measurement: \"MCC0801012\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"VH1\", measurement: \"MCC0801013\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"VH2\", measurement: \"MCC0801014\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"PH\", measurement: \"MCC0801015\", _field: \"E\", _value: 30.0},\r\n {Source: \"TNS\", Destination: \"Spoel\", measurement: \"MCC0801016\", _field: \"E\", _value: 30.0},\r\n {Source: \"UPS\", Destination: \"24V\", measurement: \"MCC0801017\", _field: \"E\", _value: 30.0},\r\n {Source: \"24V\", Destination: \"PLC SOL\", measurement: \"MCC0801018\", _field: \"E\", _value: 10.0},\r\n {Source: \"24V\", Destination: \"PLC WZI\", measurement: \"MCC0801019\", _field: \"E\", _value: 20.0},\r\n])\r\n\r\ndata\r\n |> yield(name: \"mean\")"
},
"fields": [
{
"name": "Source",
"type": "string",
"typeInfo": {
"frame": "string",
"nullable": true
},
"labels": {}
},
{
"name": "Destination",
"type": "string",
"typeInfo": {
"frame": "string",
"nullable": true
},
"labels": {}
},
{
"name": "measurement",
"type": "string",
"typeInfo": {
"frame": "string",
"nullable": true
},
"labels": {}
},
{
"name": "_field",
"type": "string",
"typeInfo": {
"frame": "string",
"nullable": true
},
"labels": {}
},
{
"name": "_value",
"type": "number",
"typeInfo": {
"frame": "float64",
"nullable": true
},
"labels": {}
}
]
},
"data": {
"values": [
[
"Net",
"IT",
"IT",
"IT",
"IT",
"Net",
"TNS",
"TNS",
"TNS",
"TNS",
"TNS",
"TNS",
"TNS",
"TNS",
"TNS",
"TNS",
"UPS",
"24V",
"24V"
],
[
"IT",
"Motor 1",
"Motor 2",
"Motor 3",
"Motor 4",
"TNS",
"Tracing",
"Verlichting",
"LS SHR",
"LS N2 SOL",
"LS Brand",
"UPS",
"VH1",
"VH2",
"PH",
"Spoel",
"24V",
"PLC SOL",
"PLC WZI"
],
[
"MCC0801001",
"MCC0801002",
"MCC0801003",
"MCC0801004",
"MCC0801005",
"MCC0801006",
"MCC0801007",
"MCC0801008",
"MCC0801009",
"MCC0801010",
"MCC0801011",
"MCC0801012",
"MCC0801013",
"MCC0801014",
"MCC0801015",
"MCC0801016",
"MCC0801017",
"MCC0801018",
"MCC0801019"
],
[
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E",
"E"
],
[
9000,
1000,
1000,
1000,
1000,
3000,
30,
30,
30,
30,
30,
30,
30,
30,
30,
30,
30,
10,
20
]
]
}
}
],
"refId": "A"
}
}
}
}