您好我正在尝试在指标之间进行简单的成功率计算。通过将成功请求的数量除以尝试的数量。问题是一些间隔是空的,其中两个指标都是 0。当我编写查询时,我得到下面的“不能被零除”的运行时错误。在 SQL 中有一个NULLIF
函数可以避免这种情况。是否有类似的变化,或者是否有替代方法可以避免被零除?
错误:runtime error @7:6-7:90: map: failed to evaluate map function: cannot divide by zero
我的示例查询:
from(bucket: "my_db")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "HTTPRequests")
|> filter(fn: (r) => r["_field"] == "RequestAttempt" or r["_field"] == "RequestSuccess_E")
|> filter(fn: (r) => r["host"] == "host-a")
|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
|> map(fn: (r) => ({ r with Request_SR: r.RequestSuccess_E/r.RequestAttempt }))
提前致谢。