zoukankan      html  css  js  c++  java
  • SAS学习笔记50 SAS数据集索引

    在没有索引的情况下,SAS是一条接一条的扫描观测;有索引时,直接跳到该索引对应的观测所在位置。总结一句话就是:节省时间,节省内存,提高效率

    当然并不是任何情况下使用索引都能提高工作效率,因为建立索引本身需要耗费内存,是否使用索引,要视具体情况而定。SAS中的语言优化器会自动判断是否需要使用索引

    在实际使用中,出于效率考虑,我们只会为经常在WHERE条件中使用的变量,和用来合并SAS数据集的变量建立索引

    建立索引的情况:

    • 访问的观测远远小于总体
    • 用于BY语句引用已排序的变量

    索引分为简单索引【simple index】和复合索引【composite index】,也可以创建临时索引和永久索引(永久索引一但创建创功,就在文件存储地生成一个.sas7bndx的索引文件)

    简单索引由单个变量的值组成,字符变量或数值变量都可以。SAS会自动给简单索引命名为跟相应变量一样的名字

    复合索引由多个关键变量的值连接而成。复合变量的名字不能与任一已建立的索引重名

    一个数据集可以拥有多个简单和复合索引

    DATA步创建索引

    在建立数据集的同时建立索引

    选项UNIQUE:关键变量的取值必须唯一。该选项防止对于关键变量冗余的记录加入到数据集中。

    PROC DATASETS步创建索引

    为已存在的sas数据集创建索引,执行时间快,因为只读取KEY VALUE

     

    index选项中:

    NOMISS:从索引中排除所有索引变量缺失值的观测

    UNIQUE:指定索引变量或者变量组合必须是唯一的

    UPDATECENTILES=ALWAYS|NEVER|integer:指定数据值更新多少时,索引也随之更新,可以是总是更新|从不更新|设定的百分比10(表示10%),默认是5(percent)

    PROC SQL创建索引

  • 相关阅读:
    selenium 定位元素的基本方法(6)
    selenium ,先了解html 基础知识(5)
    第 39 章 ThinkPHP--SQL 连贯操作
    第 39 章 ThinkPHP--模型初步(下)
    第 39 章 ThinkPHP--模型初步
    第 39 章 ThinkPHP--模块化和 URL 模式
    CSS属性编写顺序
    Ajax_使用jQuery 实现Ajax
    Ajax_数据格式三大类
    Ajax_使用XMLHttpRequest实现
  • 原文地址:https://www.cnblogs.com/abble/p/11319944.html
Copyright © 2011-2022 走看看