对SAS编程-第1部分-提取数据的SQL

2009年4月14号的:闪现7

在本教程的第一部分通过proc SQL语句来执行提取的基本数据。 代码的输出画面也包括在内。 读者谁愿意跟着自己的系统或复制下面的代码可以下载(右键点击并选择“保存为所提供的文件”或“链接另存为”):

(下载)的SAS守则教程第一部分
(下载)SAS数据:交易
(下载)SAS数据:付款方式
(下载)SAS数据:员工

:本教程使用的SAS方面的条款和SQL交替。 下列术语集是等价的:

  • 变量,列
  • 数据集,表

读数据集

SQL定义的SELECT命令来提取从现有的表中的数据。 从命令指定源表。

例如 :读取和输出的店员所有现有资料-

SAS PROC SQL: Read an entire data set and output to the screen

使用SELECT命令*与参数自动选择所有列在表中可用。 默认情况下,进程内的SQL输出到屏幕上,因此不需要进行额外的PRoC打印需要查看结果。

SAS Output: List of Store Employees

输出是相当于内使用无任何条件报表数据一步一个SET命令的结果。

读从一个特定的变量数据集

要查询的源表,列出变量的逗号分隔参数的SELECT命令后,特定的列

例如 :读取和输出的第一和最后一个名字的店员

SAS PROC SQL: Read specific variables from a data set

在SQL中,列出列名以逗号分隔,在数据的步骤列名(变量),而由空格分隔。

SAS Output: First and Last Names of Store Employees

输出相当于发行在数据步骤设置和保存命令的结果。

筛选数据集

在WHERE命令可用于过滤从源表中的个人记录。 此命令是由一个或更多的变量的原始数据,根据条件参数集。

例如 :名单上的名字与“威尔逊工作人员”

SAS PROC SQL: Filter data results

最简单的条件语句比赛一列文字值。 数字数据也可以使用=比较文本值,但不会用引号括起来。

SAS Output: Store Employees with the Surname Wilson

的SQL WHERE命令的功能相同的方式使用在WHERE命令在数据步

在WHERE命令不仅限于简单的比较。 多列可以进行评估一次。

例如 :工作人员在名单上的名字与“威尔逊媒体站”

SAS PROC SQL: Filter data results by matching on multiple variables

布尔运算符AND和OR可以使用,以及括号创造更多复杂的条件逻辑。

SAS Output: Store Employees in the Media station with the Surname Wilson

输出显示了最后一个名为“威尔逊一名员工”谁也在媒体站工程。 再次,该命令运行的SQL WHERE是相同的WHERE语句中使用的数据的步骤。

使用^符号可以用来否定一个WHERE内命令逻辑条件

SAS PROC SQL: Filter data results using negative matching

使用^符号也可以放置在一个开放的括号前面否定更复杂的条件逻辑。

SAS Output: Store Employees that do NOT have the Surname Wilson

输出显示每个员工没有一个名为“威尔逊”

结合与命令的WHERE命令使得有可能比一列可能的值的列表。

例如 :在媒体或计算机商店雇员站名单

SAS PROC SQL: Filter data results using a list of values

在命令的可用于任何有效的数据类型(甚至是子查询产生一列数据),但没有列出可能混合数据类型。

SAS Output: Store Employees in the Computer or Media station

输出中列出了在上述车站所有员工。

读到一个新的数据集数据

到目前为止,所有的例子都直接输出到屏幕上,这是进程内的SQL的默认行为(在SAS例如,输出去默认的消耗臭氧层物质的目标)。 在大多数情况下,理想的目标将是另一个表-往往是一个全新的表。 重定向从SQL查询输出到一个新的数据集,使用CREATE TABLE截至在发言开始时的语法/:

例如 :创建一个表中的重复的工作人员

SAS PROC SQL: Read an entire data set and output to a new data se

几乎所有的SQL语句生成的屏幕输出可直接输出到另一个表。 为了避免系统缓慢起伏,大SQL查询(如查询,生产线计)应始终输出才能浏览设置一个新的数据。

SAS Data Set - Replica of Staff table

没有输出在屏幕上产生的,而是一个新的表已在工作目录,其中载有在源表中的数据的翻版,创建。

“”返回系列开始

提起下: 发展教程
标签:

留下回复

的captcha
输入您在上面看到的信件。