sas hash简介与实例

sas hash简介与实例

ID:40763018

大小:169.51 KB

页数:15页

时间:2019-08-07

sas hash简介与实例_第1页
sas hash简介与实例_第2页
sas hash简介与实例_第3页
sas hash简介与实例_第4页
sas hash简介与实例_第5页
资源描述:

《sas hash简介与实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在SAS中我们比较习惯使用DATA步来解决数据处理工作,但是当我们需要处理的是两个以上有关联的数据文件或需要处理的数据观测记录达到百万级别时,DATA步显然不能满足我们的要求。若使用hash散列表(哈希表),把关键字映射到散列表中,通过散列表直接获取需要访问数据的存储地址,可以快速的进行查找、添加等操作。SAS提供了hash和hiter两种方法处理哈希表,hash提供了查找、修改、添加、删除等方法,hiter提供了用于定位和遍历等方法。1.1Hash的定义及使用在使用之前需要定义哈希表,如下:Daclarehashmyhash;myhash=_new_hash();或者:Decl

2、arehashmyhash();例如:Daclarehashmy_hash;my_hash=_new_hash();定义了一个名字为my_hash的哈希表。初始化哈希表:declarehashvariable_name(argument_tag-1:value-1<,...argument_tag-n:value-n>);或者:variable_name=_new_hash(argument_tag-1:value-1<,...argument_tag-n:value-n>);例如:declarehashh(hashexp:4,dataset:'work.sales',order

3、ed:'yes');定义了一个名字为h的哈希表,并且把work.sales的数据映射到哈希表上;hashexp:4表示哈希表的大小定为2的4次方,ordered:'yes'表示在哈希表中根据关键字升序排序。语句解读:使用第一种方法定义哈希表时需要注意myhash是定义的表名,其余部分为固定格式。初始化时可选填的项有:Hashexp:n指定哈希表的大小为,但并不表示观测数。默认为8。Dataset:`dataset_name'指定需要映射到哈希表的数据集。Ordered:’option’指定输出到数据集或读取数据时是否排序,option选项如下:Ascending和yes表示根据k

4、ey升序;Descending表示根据key值降序;no为不做任何操作。此外各选项均可只用首字母代替。duplicate:’option’option选项如下:replace表示遇到相同key时,仅保留最后一条观测;error表示遇到相同的key时,在日志窗口报错multidata:’option’’option’选项如下:yes表示允许重复的key在哈希表中出现,no则不允许,默认情况为不允许。在定义一个新的哈希表后需要指定哈希表的关键字段等,如下:语句功能DEFINEKEY定义关键字段;DEFINEDATA定义值;DEFINEDONE定义完成;CALLMISSING避免提示变

5、量未初始化哈希表中可以实现较多的操作,语句格式如下:myhash.’option’();option可选选项句及功能:语句功能FIND查找相同的键值,存在则返回rc=0;ADD添加键值,若hash表中已存在,则不添加;CHECK查找健值,若存在返回rc=0;REPLACE若哈希表中不存在指定的关健字段,则添加;若存在则替换;REMOVE移去哈希表中指定关键字对应的地址等数据;EQUAL判断两个哈希表是否完全相等;OUTPUT将哈希表输出到数据集;REF若查找关键字成功则无操作,若查找不成功则添加关键字,相当于find与add的结合;SETCUR规定一个关键字,用于起始迭代。通常在

6、对数据排序后使用。SUM计算并返回相同key下指定计数变量的和CLEAR清空hash表,但不删除数据;DELETE删除整个哈希表NUM_ITEMS计算哈希表中观测的条数ITEM_SIZE计算哈希表的大小在哈希表中还有如下操作,与上述操作不同的是,使用下列的操作必须在允许哈希表中出现相同的关键字前提下。HAS_NEXT在允许出现相同关键字情况下,是否存在下一条相同关键字的观测FIND_NEXT在允许出现相同关键字情况下,寻找下一条相同关键字的观测FIND_PREV在允许出现相同关键字情况下,寻找前一条相同关键字的观测REMOVEDUP在允许相同关键字出现的情况下,在哈希表中移去当前

7、关键字等数据REPLACEDUP在允许出现相同关键字情况下,使用新的数据代替当前关键字对应的数据等SUMDUP在允许出现相同关键字情况下,计算并返回当前关键字下的指定计数的变量和由于哈希表的定义及操作的语法及使用语句较多,格式较新,下面我们通过一个例子来解释哈希表的定义及简单操作。[例5.1]定义一个哈希表并对其进行ADD、CHECK、FIND、REMOVE、REPLACE、NUM_ITEMS等操作。[程序5.1]datahash_sample;inputfruit$amount

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。