# Flux query: \_field has slash in name, cannot get value

**URL:** https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996
**Category:** InfluxQL
**Tags:** influxql
**Created:** [May 20, 2021, 12:11pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996 "2021-05-20T12:11:31Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![ToWo](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/towo/32/8154_2.png) [@ToWo](https://community.influxdata.com/u/ToWo)
#### Post date: [May 20, 2021, 12:11pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/1 "2021-05-20T12:11:31Z")

</div>

Hello,  
I am wondering how I can get the value out of a \_field which has slashes in his name, ie:

r.\_field == “status\_information/last\_state\_change/days”

my query looks like the following and I want to calculate a new column based on days \* 86400 + hours \* 3600, etc to get the number of seconds and graph it. As you may notice, I am not able to get the value out of \>\> r.status\_information/last\_state\_change/days

Any Ideas? I am hunting cisco telemetry data, bfdsessionuptime…  
Thanks in advance, best regards, Tom

```
from(bucket: "telemetry")
  |> range(start: -5m)
  |> filter(fn: (r) => r._measurement == "Cisco-IOS-XR-ip-bfd-oper:bfd/session-details/session-detail")
  |> filter(fn: (r) => r.destination_address =="192.168.1.3")
  |> filter(fn: (r) => (
          r._field == "status_information/last_state_change/days" or
          r._field == "status_information/last_state_change/hours"
         )
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
  |> map(fn: (r) => ({ r with
      uptimeseconds: float(v: r.status_information/last_state_change/days * 86400.0) + float(v: 
      r.status_information/last_state_change/hours * 3600.0)
  }))
```

---

<div class="post-metadata">

### Author: ![scott](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/scott/32/16492_2.png) [@scott](https://community.influxdata.com/u/scott)
#### Post date: [May 20, 2021, 2:48pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/2 "2021-05-20T14:48:40Z")

</div>

@ToWo You can’t use **dot notation** if there are special characters or white space characters in your column name. You need to use [bracket notation](https://docs.influxdata.com/influxdb/cloud/query-data/get-started/syntax-basics/#records):

```javascript
from(bucket: "telemetry")
  |> range(start: -5m)
  |> filter(fn: (r) => r._measurement == "Cisco-IOS-XR-ip-bfd-oper:bfd/session-details/session-detail")
  |> filter(fn: (r) => r.destination_address =="192.168.1.3")
  |> filter(fn: (r) => (
          r._field == "status_information/last_state_change/days" or
          r._field == "status_information/last_state_change/hours"
         )
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
  |> map(fn: (r) => ({ r with
      uptimeseconds: float(v: r["status_information/last_state_change/days"] * 86400.0) + float(v: r["status_information/last_state_change/hours"] * 3600.0)
  }))
```

---

<div class="post-metadata">

### Author: ![ToWo](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/towo/32/8154_2.png) [@ToWo](https://community.influxdata.com/u/ToWo)
#### Post date: [May 20, 2021, 3:12pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/3 "2021-05-20T15:12:51Z")

</div>

> [@scott](#):
>
> `ptimeseconds: float(v: r["status_information/last_state_change/days"] * 86400.0) + float(v: r["status_information/last_state_change/hours"] * 3600.0)`

@scott exactly what I was looking for, have had looked in to the samples for hours and the beginners guide fits best. thank you. Please allow one more question on this, I want to extend the filter r.destination\_ipaddress == “192.168.xx” to a variable which than can be chosen at runtime from an ip-list ( ip address values to choose can be picked up by a distinct query to the destination\_address). How would one start?  
thanks in advance,  
best regards,  
Tom

---

<div class="post-metadata">

### Author: ![scott](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/scott/32/16492_2.png) [@scott](https://community.influxdata.com/u/scott)
#### Post date: [May 20, 2021, 3:31pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/4 "2021-05-20T15:31:18Z")

</div>

@ToWo If you’re using InfluxDB Cloud or InfluxDB OSS 2.0, you can create a custom [dashboard variable](https://docs.influxdata.com/influxdb/cloud/visualize-data/variables/) that lists all of the potential IPs.

The InfluxDB stores all dashboard variables in a `v` record that get’s append to all dashboard cells, so to use a variable in a dashboard query, you just use the `v.variableName` (or `v["Variable Name"]`) syntax:

```javascript
from(bucket: "telemetry")
  |> range(start: -5m)
  |> filter(fn: (r) => r._measurement == "Cisco-IOS-XR-ip-bfd-oper:bfd/session-details/session-detail")
  |> filter(fn: (r) => r.destination_address == v.IP)
  |> filter(fn: (r) => (
          r._field == "status_information/last_state_change/days" or
          r._field == "status_information/last_state_change/hours"
         )
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
  |> map(fn: (r) => ({ r with
      uptimeseconds: float(v: r["status_information/last_state_change/days"] * 86400.0) + float(v: r["status_information/last_state_change/hours"] * 3600.0)
  }))
```

---

<div class="post-metadata">

### Author: ![ToWo](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/towo/32/8154_2.png) [@ToWo](https://community.influxdata.com/u/ToWo)
#### Post date: [May 20, 2021, 3:46pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/5 "2021-05-20T15:46:01Z")

</div>

@scott Perfect! Thank you very much for this, now it fits all together,  
cheers,  
Tom

---

<div class="post-metadata">

### Author: ![scott](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/scott/32/16492_2.png) [@scott](https://community.influxdata.com/u/scott)
#### Post date: [May 20, 2021, 3:48pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/6 "2021-05-20T15:48:06Z")

</div>

@ToWo No problem. Happy to help!

---

<div class="post-metadata">

### Author: ![Minas\_Balaskas](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/minas_balaskas/32/20102_2.png) [@Minas\_Balaskas](https://community.influxdata.com/u/Minas_Balaskas)
#### Post date: [August 20, 2025, 12:59pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/7 "2025-08-20T12:59:18Z")

</div>

Hello Scott ,

I have the below query but seems i dont take any percentage value.

from(bucket: “telegraf”)

|\> range(start: v.timeRangeStart, stop: v.timeRangeStop)

|\> filter(fn: (r) =\> r[“\_measurement”] == “Cisco-IOS-XR-ip-daps-oper:address-pool-service/nodes/node/vrfs/vrf/ipv4”)

|\> filter(fn: (r) =\> r[“\_field”] == “pools/pool\_name” or r[“\_field”] == “pools/free” or r[“\_field”] == “pools/used” or r[“\_field”] == “pools/total”)

|\> filter(fn: (r) =\> r[“source”] == “CR-BNG-01”)

|\> filter(fn: (r) =\> r[“vrf\_name”] == “GREEN”)

|\> filter(fn: (r) =\> r[“pools/pool\_name”] == “EAD20\_GREEN” or r[“pools/pool\_name”] == “EAD21\_GREEN”)

|\> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)

|\> map(

```
    fn: (r) => ({

        r with \_value: float(v: r\["pools/free"\] / float(v: r\["pools/total"\] ) \* 100.0)

        }))

```

|\> yield(name: “last”)

|\> pivot(rowKey:[“\_time”], columnKey: [“\_field”], valueColumn: “\_value”)

Thank you in advance for your help,

Minas

---

<div class="post-metadata">

### Author: ![scott](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/scott/32/16492_2.png) [@scott](https://community.influxdata.com/u/scott)
#### Post date: [August 21, 2025, 3:38pm UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/8 "2025-08-21T15:38:43Z")

</div>

@Minas_Balaskas You need to pivot the data _befor_e you try to operate on multiple fields in `map()`:

```javascript
from(bucket: "telegraf")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r["_measurement"] == "Cisco-IOS-XR-ip-daps-oper:address-pool-service/nodes/node/vrfs/vrf/ipv4")
    |> filter(fn: (r) => r["_field"] == "pools/pool_name" or r["_field"] == "pools/free" or r["_field"] == "pools/used" or r["_field"] == "pools/total")
    |> filter(fn: (r) => r["source"] == "CR-BNG-01")
    |> filter(fn: (r) => r["vrf_name"] == "GREEN")
    |> filter(fn: (r) => r["pools/pool_name"] == "EAD20_GREEN" or r["pools/pool_name"] == "EAD21_GREEN")
    |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
    |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
    |> map(
        fn: (r) => ({
            r with _value: float(v: r["pools/free"] / float(v: r["pools/total"] ) * 100.0)
            }))
    |> yield(name: "last")

```

---

<div class="post-metadata">

### Author: ![Minas\_Balaskas](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/minas_balaskas/32/20102_2.png) [@Minas\_Balaskas](https://community.influxdata.com/u/Minas_Balaskas)
#### Post date: [August 22, 2025, 6:20am UTC](https://community.influxdata.com/t/flux-query-field-has-slash-in-name-cannot-get-value/19996/9 "2025-08-22T06:20:22Z")

</div>

Thank you Scott , Yes i corrected that part and everything works fine !!

Thanks for your help!!
