sas hash2 多对多的情况
来源:互联网 发布:windows 直接登录 编辑:程序博客网 时间:2024/06/10 00:21
data testdup(index=(key));
length key data 8;
input key data;
datalines;
1 10
2 11
1 15
3 20
2 16
2 9
3 100
5 5
1 5
4 6
5 99
;
run;
data a;
input key data1;
cards;
1 8
1 11
2 14
2 3
5 6
5 8
;
run;
data RESULT(KEEP=KEY DATA RESULT);
length r 8;
IF _N_=0 THEN SET A;
IF _N_=1 THEN DO;
dcl hash h(dataset:'A', multidata: 'y', ordered: 'y');/*multidata:'y'允许重复的KEY在hash中出现,默认情况不允许*/
h.definekey('key');
h.definedata('key', 'data1');
h.definedone();
call missing (key, data1);
END;
SET testdup;
by key;
result=0;
rc = h.find();
if (rc = 0) then do;
if data>data1 then result=1;
put key= data= data1= result=;
h.has_next(result: r);/*h.has_next():在允许出现相同关键词的前提下,判断是否存在下一条相同关键字的观测*/
do while(r ne 0);/*不等于0表示存在下一条相同关键字的观测*/
rc = h.find_next();/*h.find_next():在允许出现相同关键字的前提下,寻找下一条相同关键字的观测*/
put key= data= data1= result;
if data>data1 then result=2 ;
else result = 3;
put 'before replace ' key= data= data1= result=;
rc = h.replacedup();/*h.replacedup():在允许出现相同关键词的前提下,使用新的数据代替当前关键字对应的数据等*/
put 'after replace ' key= data= data1= result=;
h.has_next(result: r);
end;
end;
RUN;
这种处理,可以用于进行set数据集 取hash表中时间最新数据,或者按key值排序,进行于hash表中最大值或最小值进行对比等,
下面是一个关于hash 很不错的链接
https://wenku.baidu.com/view/2cc9b821a1c7aa00b42acba0.html
阅读全文
0 0
- sas hash2 多对多的情况
- SAS进阶《深入解析SAS》之开发多语言支持的SAS程序
- 对SAS知识的点滴回顾
- hibernate 一对一、一对多、多对多的情况
- SAS进阶《深入解析SAS》之对多数据集的处理
- 报告SAS LICENSE使用情况
- SAS读取含多个子表的EXCEL表
- SAS结果输出到EXCEL的多个sheet
- SAS 多个文件导入
- 对tableView的学习情况
- SAS如何在不排序的情况下使用by语句
- 多消费者的情况
- MyBatis 表与表之间的关系 1对多的情况
- SQLServer对select语句返回多条记录给变量赋值时的处理情况
- apcupsd和nut对APC smartUPS的支持情况实测(FreeBSD等多系统)
- C#简化switch多条件情况——键值对的初理解
- SAS多任务并行处理,利用systask
- 如何通过SAS ODS输出到excel的多个worksheet里
- CSS盒模型、行内元素与块级元素
- java 查找目录下指定文件名的文件源代码
- opencv2 使用鼠标绘制矩形并截取和保存矩形区域图像
- C++中回调(CallBack)的使用方法
- 设计模式:单例
- sas hash2 多对多的情况
- 小白必看Python视频基础教程
- hibenate openSession和getCurrentSession
- 在 Windows 7上安装 TensorFlow
- C#回顾学习笔记二十六:String与StringBuilder的区别
- 红黑树剖析
- 第1章 搭建Android源码工作环境
- finally、final和finalize方法的区别
- BubbleSort