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.
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?