Compare values in 2 columns

@grant1,
You could use a drop() function to drop actual and setpoint.

import "math"
from(bucket: "bucket2")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "measurement2")
  |> filter(fn: (r) => r["EquipType"] == "generator")
  |> filter(fn: (r) => r["MeasType"] == "actual" or r["MeasType"] == "setpoint")
  |> filter(fn: (r) => r["_field"] == "temperature")
  |> filter(fn: (r) => r["EquipNumber"] == "302")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> pivot(rowKey:["_time"], columnKey: ["MeasType"], valueColumn: "_value")
  |> map(fn: (r) => ({ r with difference: math.abs(x: r.setpoint - r.actual)}))
  |> drop(columns: ["actual", "setpoint"])
  |> yield(name: "difference")