SQL随机样本基于两个分组的最小值

时间:2019-06-19 20:31:35

标签: sql netezza

我有一组由员工工作的警报数据。每个警报也来自特定场景。我被要求从总人口中随机抽取60个警报,但是该样本必须包括以下内容:

  1. 样本必须包含总体中的所有情形。例如,如果上个月有1000个警报,而在这1000个警报中,有15个场景构成了它们,那么我想确保每个场景中至少有1个在我的60个质量检查样本中。

  2. 客户希望确保60个计数的质量检查样本还包含每位员工最多5个警报或100%,以较小者为准。例如,如果一个员工工作了4个或更少的警报,则无论样本是什么情况,我们都希望它们都在样本中。如果他们有5个或更多,我们只需要取回5个即可。

因此,抽样是两倍的-我需要确保我们获得60个涵盖所有场景的随机样本,但是请确保我们获得每个员工的工作警报的5个最大值或100%。

数据看起来像:

Alert_ID      Scenario      Employee_Name      Etc....
00001         A             John Smith         ....
00002         A             John Smith         ....
00003         B             Jane Doe           ....
00004         C             John Smith         ....

由于某些原因,我无法发布数据集,但是该数据集每月大约有20,000个警报,因此我将其拉出了20k,然后需要从上面根据该人口样本进行采样。有什么建议么?预先感谢!

顺便说一下,在此开发中,我正在将IBM Netezza和Aginity用作IDE。谢谢!

0 个答案:

没有答案