专栏首页老Z的博客SAS中产生笛卡尔积的几种方法

SAS中产生笛卡尔积的几种方法

在平时写程序的时候,有时候我们在LOG中会看到类似下图的提示,而实际上笛卡尔积可能又的确是我们所要的结果。下面介绍几种产生笛卡尔积的方法。

设有两个数据集如下,假设我们要的结果是A <= ID <= C:

  1. PROC SQL
proc sql;
    create table want as
        select a.*, b.*
        from demo1 a, demo2 b
        where A <= ID <= B
        ;
quit;
  1. DATA步:
data want;
    set demo1;
    do i=1 to n;
        set demo2 point=i nobs=n;
        if A <= ID <= B then output;
    end;
run;
  1. HASH
data want;
    if _n_=1 then do;
        if 0 then set demo2;
        dcl hash h(dataset:'demo2');
        dcl hiter hit('h');
        h.definekey('C');
        h.definedata('A', 'B', 'C');
        h.definedone();
    end;
    set demo1;
    do while(hit.next()=0);
        if A <= ID <= B then output;
    end;
run;

通过RUN程序我们可以发现后面两种方法在LOG中不会有产生笛卡尔积的提示,故当LOG有要求检查关键字'Cartesian Product'的时候可以使用后面两种方法。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SAS成语接龙

    今天无意间翻到3年前回复过的一个帖子:用SAS做成语接龙。编程思路如下:首先导入成语大全,提取首尾汉字,将所有成语放入哈希表中,然后将成语最后一个汉字去哈希表中...

    专业余码农
  • SAS数据集中一行与多行的比较

    前几天看到一个群友提的一个问题:求上图中X小于等于所有Y值的个数。比如,第一个Y为0,则5个X中小于等于0的个数为0。实现这一目的的方法有多种,最易懂的方法应该...

    专业余码农
  • SAS创建单级书签的PDF文件

    在用ODS PDF生成PDF文件时,为了美观有时只要一层书签(如上图),下图为多层级书签。

    专业余码农
  • 字符串操作的全面总结

    字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方...

    C语言与CPP编程
  • 字符串操作的全面总结

    字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方...

    C语言与CPP编程
  • Spring源码学习笔记(13)——JDBC

    Spring提供了JdbcTemplate模板类来操作数据库,JdbcTemplate是对原生JDBC进行了全面的封装,统一处理了数据库连接的获取与释放等操作,...

    张申傲
  • zephir-(11)流程控制语句

    #zephir-流程控制语句# ? ##前言## 先在这里感谢各位zephir开源技术提供者 ZEPHIR实现了一个简化的控制结构语句,类似的语言如C,PHP等...

    喵了个咪233
  • java 1.5中for循环的新写法

    J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具...

    用户7886150
  • Leetcode 290. Word Pattern

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • Python使用爬虫技术获取本机所在公网IP地址

    网络上有些网页,访问这些网页时会显示我们的公网IP地址。利用爬虫技术,编写Python程序向这样的页面发出请求,在返回的响应中会包含我们的公网IP地址,然后再根...

    Python小屋屋主

扫码关注云+社区

领取腾讯云代金券