主题/摘要说明了一切,但为了提供更多色彩,我有一个通常在 0 到 100 之间的指标,但在某些奇怪的情况下,它会飙升至几千秒,这使其余 0-100 数据相形见绌。
我的目标是当数据超过100时将其设置为110,以便我知道它的值超过100。
我唯一能找到的是removeAboveValue(),但使用时它看起来好像数据丢失了。
请帮忙。
谢谢!
transformNull(removeAboveValue(some.metric.avg, 100), 110)
请注意,上面还将 110 设置为实际间隙。当然,您可以在原点度量中再次使用transformNull
将间隙标记为... -1(或其他)
transformNull(removeAboveValue(transformNull(some.metric.avg, -1), 100), 110)
但这引入了魔法null has value
,而且它很糟糕(具有误导性),但它并不总是可能的(如果度量可以有负值,零或其他)。下一个解决方案是:
110
。可以通过多种方式来完成。让我们采取一些简单的方法:
removeBelowValue(some.metric.avg, 100)
divideSeries(removeBelowValue(some.metric.avg, 100), removeBelowValue(some.metric.avg, 100))
scale(divideSeries(removeBelowValue(some.metric.avg, 100), removeBelowValue(some.metric.avg, 100)),110)
removeAboveValue
)。作为合并功能,在这种情况下,使用
minSeries
:
minSeries(
removeAboveValue(some.metric.avg, 100),
scale(
divideSeries(
removeBelowValue(some.metric.avg, 100),
removeBelowValue(some.metric.avg, 100)
),
110
)
)