美文网首页
Sas应用之统计多个数据集重复数据量

Sas应用之统计多个数据集重复数据量

作者: 乘物以游心 | 来源:发表于2016-07-24 22:35 被阅读144次

    现有多个数据集,表结构都是一样的,现在需要找出这些数据集有多少数据量是重复的。假设有4个数据集,找出这4个数据集的重复的量,这里统计重复的量包括两两重复的量,三个都重复的量,四个都重复的量。根据排列组合,两两重复的情况有

    =6种。
    一、程序思路对4个数据集分别打标签,将重复的数据量通过merge归并到一个数据集,然后通过标签进行统计重复的量。
    二、程序如下:
    建立重复数据集;
    data air1; set sashelp.air(firstobs=
    1* obs=150); run;
    data air2; set sashelp.air(firstobs=10obs=100); run;
    data air3; set sashelp.air(firstobs=50obs=120); run;
    data air4; set sashelp.air(firstobs=30obs=60); run;

    **proc ****sort **data=air1 out=air1_1 ; by_all_; run;
    **proc ****sort **data=air2 out=air2_1 ; by_all_; run;
    **proc ****sort **data=air3 out=air3_1 ; by_all_; run;
    **proc ****sort data=air4 out=air4_1 ; by_all_; run;
    /
    合并数据集,输出重复结果
    /

    data air;
    merge air1_1(in=a) air2_1(in=b) air3_1(in=c)
    air4_1(in=d);
    by all;
    if a then flag_a=1;
    if b then flag_b=2;
    if c then flag_c=3;
    if d then flag_d=4;
    if a and b or a and c or a and d or b and c or b and d
    or c and d then output; /输出6种情况/
    run;
    /上述程序可以更改为/
    data air;
    merge air1_1(in=a) air2_1(in=b) air3_1(in=c)
    air4_1(in=d);
    by all;
    if a+b+c+d gt **1 then output; /输出6种情况/
    run;
    若输出两两重复,a+b+c+d=2;三个数据集重复的a+b+c+d=3;四个重复的a+b+c+d=4;直接使用临时变量a,b,c,d,临时变量不输出,因此若想输出临时变量值,需赋值给新变量。当数据量庞大,合并数据来源繁多,我们需要在合并后数据集追溯原始数据集来源,这时需要给原始数据来源打上标签,便于查询和管理数据。同时存在另一个问题,就是不同来源的数据集可能存在相同名称的变量,但是可能它们的值不同,我们有时更需要的是给每个变量名称打上数据集来源的标签。这个下集分享。
    该部分结果如下,其实根据上面实验时所用的数据集均来自于sashelp.air,通过对生成的4个数据的观察,我们可以知道,这个4个数据集相同的数据量一共有11个,而且是从air数据集的第41到第51个,如有疑问,可留言咨询JJJ!
    然后可以根据flag_a, flag_b, flag_c, flag_d的值来统计4个数据集重复的数据量。

    Paste_Image.png

    微信:https://mp.weixin.qq.com/s?__biz=MzIyNTE2MzM3MA==&mid=2650116662&idx=1&sn=f341aa6afa224eec30c0a52031e0315a&scene=1&srcid=0724eVgCftoAx9aGezEUYMkk&pass_ticket=xRi5WpzqGUSUy%2B%2FaxG1KW%2FGfQAAnAQ2400h5L3hljcCna59KOHZQ5IUMJhvKsVOX#rd

    相关文章

      网友评论

          本文标题:Sas应用之统计多个数据集重复数据量

          本文链接:https://www.haomeiwen.com/subject/izlgjttx.html