Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 为每种数据类型(SAS)选择前10个观测值_Sorting_Sas - Fatal编程技术网

Sorting 为每种数据类型(SAS)选择前10个观测值

Sorting 为每种数据类型(SAS)选择前10个观测值,sorting,sas,Sorting,Sas,我试图从一个大数据集中为每类业务选择前10个风险敞口 下面是数据集的一个示例 如果我需要前10个曝光量,那么我只需按曝光量降序排序(正如我所做的),然后使用(obs=10)命令 但是,我需要每个LOB的前10名 你知道我怎么能在SAS做到这一点吗 谢谢 我将创建一个计数虚拟变量,计算每个业务线的风险敞口数量,然后删除虚拟变量超过10的任何观察值 这可以通过(ab-)使用从上到下运行的SAS代码在单个数据步骤中完成(假定数据已正确排序) proc sort data = have out=tem

我试图从一个大数据集中为每类业务选择前10个风险敞口

下面是数据集的一个示例

如果我需要前10个曝光量,那么我只需按曝光量降序排序(正如我所做的),然后使用(obs=10)命令

但是,我需要每个LOB的前10名

你知道我怎么能在SAS做到这一点吗


谢谢

我将创建一个计数虚拟变量,计算每个业务线的风险敞口数量,然后删除虚拟变量超过10的任何观察值

这可以通过(ab-)使用从上到下运行的SAS代码在单个数据步骤中完成(假定数据已正确排序)

proc sort data = have out=temp; by lob descending exposure; run;

data want(drop=countlob);
    retain countlob;
    set temp;
    by lob;

    countlob = countlob + 1;
    if first.lob then countlob = 1;

    if countlob > 10 then delete;
run;