我想从表totalSpeeds中的一列数据(速度)中获得值的第一个四分位数。
为此,我尝试创建一个变量(阈值),然后选择小于或等于它的值。
SET threshold = (SELECT 0.25*MAX(speed) FROM totalSpeeds);
SELECT speed FROM totalSpeeds WHERE speed <= ${hiveconf:threshold};
此操作失败并返回解析错误。有没有更有效的方法来获得速度的第一个四分位数的上界?或者,有没有办法调整上面的命令以返回第一个四分位数的速度?
提前谢谢你,
安妮塔
这应该是非常简单的,但作为SQL的新手,我真的很挣扎。有人建议我对连续(非离散)数据使用PERCENTILE_CONT。
所讨论的数据涉及两列:(1)患者列表的in和(2)每年的平均事件数。
使用我在网上找到的一些代码,这就是我要做的
SELECT ID,
percentile_cont (0.25) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY ID) as percentile_25,
percentile_cont (0.50) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY I
我在Tableau有一个数据集(假设是学生和分数)。我使用Rank_parcentile()对它们进行了排序:
Rank_parcentile(sum([score]))
然后,我使用以下代码对学生进行分组:
IF [percentile] > 0.8
THEN "Top 20%"
ELSEIF [percentile] <0.8 and [percentile]>0.5
THEN "Mid 30%"
ELSEIF [percentile]<-0.5 THEN "Bottom 50%"
这是非常好的工作,并分组他们这样。问
我正试图将dataframe聚合成一组指标,包括中位数,但看起来不支持这个中位数。有没有机会聚合并得到中值?
st_agg = df.groupby(['start station id', 'end station id']).agg({'usertype':'count', 'tripduration':'median'})
>>> ValueError: unknown aggregate median
我试图弄清楚如何计算给定数据集的第95百分位数。我可以使用下面的to从获得数据集的第95百分位数,但是下面的代码总是给出来自的值数据集。
SELECT MIN(Value)
FROM
(
SELECT TOP 95 PERCENT WITH TIES Value
FROM [Sample].[dbo].[numbers]
ORDER BY Value DESC
) AS Temp
例如,对于数据集23、5、11、22、25、14,第95百分位数为每个 24.5,但是Server不会返回这个值,因为它不在数据集中。
如果有人有什么建议,请告诉我好吗?
提前感谢你的帮助。