Flux Doing Transforms on Multiple Fields

I am getting the error for the below query “No Column ‘time’ found. But i have time column in my data source. Can you please help me with this?
from(bucket: “Grafana_Bucket”)
|> range(start: -7d)
|> filter(fn: (r) =>
r._measurement == “19042023_V24_City_1R_ECO_sathish_battery_switch_test_new” and
(r._field == “BF_CellVoltage1” or r._field == “BMSF_ChargingCurrent”)
)
|> pivot(rowKey:[”_time"], columnKey: [“_field”], valueColumn: “_value”)
|> map(fn: (r) => ({ r with power: r.BF_CellVoltage1 * r.BMSF_ChargingCurrent }))
|> sum(column: “power”)
|> aggregateWindow(every: 1d, fn: sum, column: “power”)
|> rename(columns: { power: “energy” })
|> keep(columns: [“_time”, “energy”])

@nagashree It’s because you’re doing a sum operation outside of aggregateWindow(). sum() is an aggregate operation that drops any columns not in the group key or those not operated on, so _time gets dropped. If you get rid of sum(column: "power"), it should work. Also, instead of renaming power to energy, just name the column energy in map():

from(bucket: "Grafana_Bucket")
    |> range(start: -7d)
    |> filter(
        fn: (r) =>
            r._measurement == "19042023_V24_City_1R_ECO_sathish_battery_switch_test_new"
            and (r._field == "BF_CellVoltage1" or r._field == "BMSF_ChargingCurrent"),
    )
    |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
    |> map(fn: (r) => ({r with energy: r.BF_CellVoltage1 * r.BMSF_ChargingCurrent}))
    |> aggregateWindow(every: 1d, fn: sum, column: "energy")
    |> keep(columns: ["_time", "energy"])

Hi @scott .Thanks for your Response.it got worked.
Can you help to calculate the Drive energy by using power?
combinedData = from(bucket: “Grafana_Bucket”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “MAY_4_New _Regen_Switch_logic_V24_fixed_portable”)
|> pivot(rowKey: [“_time”], columnKey: [“_field”], valueColumn: “_value”)
|> map(fn: (r) => ({
_time: r[“_time”],
powerdata: (r[“BF_CellVoltage1”] * r[“BMSF_Current”]) * 14.0,
distance: r[“Vehicle_Speed”] / 3.6
}))
|> keep(columns: [“_time”, “powerdata”, “distance”])

driveEnergy = combinedData
|> map(fn: (r) => ({
r with
Drive_Energy_wh: (r.powerdata * 3600.0) / 1000.0
** }))**
|> keep(columns: [“_time”, “powerdata”, “distance”, “Drive_Energy_wh”])
|> yield(name: “driveEnergy”)
i am using above query to calculate drive energy in watt-hour but not getting proper value.Drive energy coming in the range of 123456 …like that… please help with this

@nagashree What range of values are you expecting?

@scott current time data need to be queried.
image
i need to plot above graph in grafana using Bar Chart.
X axis :" BCM_CommandModes"(0,1,2,3)the field(range,sonic,eco not there in measurement)
Y axis: Maximum of Vehicle_speed
I have to plot the graph such that Group the maximum of vehiclespeed by BCMCOMMAND_Modes but it has values(0,1,2,3…).
Can you please help me to plot above graphs?

from(bucket: "Grafana_Bucket")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r._measurement == "MAY_4_New _Regen_Switch_logic_V24_fixed_portable")
  |> filter(fn: (r) => r._field == "Vehicle_Speed" or r._field == "BCM_ModeCommand")
  |> max(column: "Vehicle_Speed")
  |> group(columns: ["_field"])
  |> yield(name: "max_speed")

This is the query i have written but not getting the Proper graph For this.
import “experimental”

from(bucket: “Grafana_Bucket”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == “MAY_4_New _Regen_Switch_logic_V24_fixed_portable”)
|> filter(fn: (r) => r._field == “Vehicle_Speed” or r._field == “BCM_ModeCommand”)
|> max(column: “_value”)
|> map(fn: (r) => ({
_time: r._time,
_field: if r._field == “BCM_ModeCommand” then
if r._value == 1.0 then “Sonic”
else if r._value == 2.0 then “Ride”
else if r._value == 3.0 then “Dash”
else “Eco”
else r._field,
_value: r._value
}))
|> group(columns: [“_field”])
|> yield(name: “max_speed”) i am using this query but not getting proper graph


I supposed to get like previous one . Any idea where i am lagging behind?