首页 > 数据库 >SAS 编程技巧 - PROC SQL(一)

SAS 编程技巧 - PROC SQL(一)

时间:2023-07-31 22:22:49浏览次数:40  
标签:format PROC label informat num SQL SAS 数据

SAS 编程技巧 - PROC SQL(一)

SQL 全称 Strucured Query Language,即结构化查询语言,广泛应用于关系型数据库中。

SAS Base 使用 PROC SQL 提供了对 SQL 的实现。PROC SQL 过程可以帮助你完成以下任务:

  • 创建数据集、视图和索引
  • 删除数据集、视图和索引
  • 修改数据集的结构
  • 更新数据集的数据
  • 从数据集或视图中获取数据
  • 从数据集或视图中合并数据
  • 汇总统计

上述任务可以用四个字简要概括:增、删、改、查

在这一节中,我们主要讨论如何使用 SQL 创建数据集、视图和索引。

创建数据表

使用 CREATE TABLE 语句可以创建一个数据集。例如:下述代码创建了一个新的数据集:

proc sql noprint;
    create table DM
        (USUBJID char(20), SITEID char(10), SEX char(4), AGE num, HEIGHT num, WEIGHT num);
quit;

该数据集名称为 DM,包含 3 个字符型变量和 3 个数值型变量。变量的定义包括变量名和变量类型,变量名可以是任何合法的 SAS 名称,变量类型可以是 CHARACTERNUMERIC,可以分别简写为 CHARNUM

此外,在定义变量的时候还可以额外定义变量修饰符,包括:变量标签、输入格式、输出格式等,例如:

proc sql noprint;
    create table DM
        (USUBJID char(20) informat = $20. format = $20.     label = "受试者唯一标识符",
         SITEID char(10)  informat = $10. format = $10.     label = "中心编号",
         SEX char(4)      informat = $4.  format = $4.      label = "性别",
         AGE num          informat = 8.   format = 8.       label = "年龄(岁)",
         HEIGHT num       informat = 8.2  format = 8.2      label = "身高(cm)",
         WEIGHT num       informat = 8.2  format = 8.2      label = "体重(kg)");
quit;

运行后查看数据集 DM 属性:

img

CREATE TABLE 语句还支持基于现有数据集结构创建空白数据集,只需使用 LIKE 关键字即可:

proc sql noprint;
    create table DM1 like DM;
quit;

上述代码将会创建一个名为 DM1 的数据集,其结构与数据集 DM 完全一致,但不含任何观测。

标签:format,PROC,label,informat,num,SQL,SAS,数据
From: https://www.cnblogs.com/snoopy1866/p/17592094.html

相关文章

  • 【已解决】如果将MySQL数据库中的表生成PDM
     数据库表PDM关系图                                                        | 原创作者/编辑:凯哥Java                                     | 分类:经验分享 有......
  • mysql优化--索引
    mysql优化--索引Mysql索引大概有五种类型:普通索引(INDEX):最基本的索引,没有任何限制唯一索引(UNIQUE):与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。主键索引(PRIMARY):它是一种特殊的唯一索引,不允许有空值。全文索引(FULLTEXT):可用于MyISAM表,mysql5.6之后也可......
  • 6、Mysql操作数据库以及数据表
    学习sql规则,可以让mysql服务器帮咱们做其他操作1、操作数据库(文件夹)createdatabase数据库名defaultcharsetutf8;表示整个数据库是utf8的格式 use数据库名;使用这个数据库 查看数据库showdatabases; 删除数据库dropdatabase数据库名;数据库没有修改这一说......
  • Java面试题 P19:Redis篇:Redis做为缓存,mysql的数据如何与redis进行同步呢(双写一致)
    双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致。     共享锁:读锁代码 排他锁,写数据。读锁和写锁的值要一致。   MQ异步消息通知:    ......
  • 脏读,不可重复读,幻读 ,mysql5.7以后默认隔离级别是什么?什么是qps,tps,并发量,pv,uv、什么是
    目录一、脏读,不可重复读,幻读,mysql5.7以后默认隔离级别是什么?脏读,不可重复读,幻读脏读不可重复读幻读mysql5.7以后默认隔离级别是什么二、什么是qps,tps,并发量,pv,uv三、什么是接口幂等性问题,如何解决?一、脏读,不可重复读,幻读,mysql5.7以后默认隔离级别是什么?程序访问数据库,往往是多......
  • pymysql的sql注入问题
     pymysql.SQL注入 今日内容概要python操作MySQLSQL注入问题修改表SQL语句补充视图、触发器、存储过程事务流程控制、函数python操作MySQLpython中支持操作MySQL的模块有很多,常用的是pymysql这是一个第三方模块,需要下载安装使用#python连接mysq......
  • 数据库三大范式是什么、mysql有哪些索引类型,分别有什么作用、事务的特性和隔离级别
    目录1数据库三大范式是什么2mysql有哪些索引类型,分别有什么作用3事务的特性和隔离级别事务四大特性(ACID)隔离级别--->为了保证四个特性的隔离性而有的1数据库三大范式是什么-https://zhuanlan.zhihu.com/p/618012849-#第一范式:1NF是指数据库表的每一列都是不可分割 -每列......
  • SQL账表实现超始日期为最近7天
        [HotUpdate]///<sumnary>///关联方往来对账表过源框插件///</summary>[Description("客户对账表过滤框插件")]publicclassInnerCheckFilter:AbstractCommonFilterPlugIn{publicoverridevoidBeforeBindData(EventA......
  • 数据库三大范式&mysql的索引类型和作用&事务的特性和隔离级别
    数据库三大范式&mysql的索引类型和作用&事务的特性和隔离级别数据库三大范式第一范式#数据库表的每一列都是不可分割的基本数据-每列的值具有原子性,不可再分割-每个字段的值都只能是单一值举例:学籍信息不符合第一范式,可以继续分割第二范式#在第一范式的基础上-如果......
  • Mybatis学习(1)——mybatis介绍 & 入门案例 & 全局配置文件详解 & 增删改查 + mybatis事
    Mybatis学习(1)——mybatis介绍&入门案例&全局配置文件详解&增删改查+mybatis事务&mapper.xml文件#{}和${}&动态SQL入门原文链接:https://blog.csdn.net/Pireley/article/details/131520252目录引出一、mybatis是啥1.官网&ORM(ObjectRelationMapping)对象关......