如何用proc sql生成宏变量?

上节我们讲了proc sql的基本结构,以及一些sql命令的使用,这节我们主要讲一下case...when...、order by 、group by 、update、delete语句以及如何用proc sql生成宏变量。
示例1:有条件地赋值——case...when
proc步中的 case...when... 相当于data步中的 if...then... 根据某种条件输出最终结果。
结果如下:
示例2:对数据进行排序——order by
(1)默认按升序排列
结果如下:
(2)按降序排列
结果如下:
示例3:检索满足条件的行——where
**当我们想要选择表中的某些观测时,可以使用where**来选择符合特殊条件的观测。
结果如下:
示例4:对数据进行分组——group by
group by子句使select语句的结果按子句中列出的一个或多个变量的每次不同出现进行汇总或汇总。只有在select或having子句中包含一个或多个汇总函数(sum、avg、min、max)时,group by子句才会添加到select语句中。
(1)用group by进行分组
结果如下:
(2)having指定条件
说到指定条件,我们最新想到的往往是where子句,但是where子句只能指定行的条件,而不能指定组的条件,因此便有了having子句,它用来指定组的条件,我们来看个示例:
我们想要了解平均体重大于100的是男性还是女性
结果如下:
示例5:子查询
查询语句中包含查询语句,执行时先执行子查询,后执行外部查询,根据包含子查询的子句,子查询可以返回一个值或多个值。
结果如下:
示例6:更新sas表——update
我们可以使用**sql update**语句更新sas表。下面我们首先创建一个名为class的新表,然后使用sql update语句去更新它。
结果如下:
示例7:删除操作——delete
**sql**中的删除操作涉及使用**sql delete**语句从表中删除某些值.我们可以继续使用示例中的数据,并从表中删除age大于等于13的观测。
结果如下:
示例8:创建宏变量——into
给宏变量赋值,**data**步和**proc**步都能实现,不过从操作灵活性上讲,**proc**步要更胜一筹。**proc**步生成宏变量就需要用到**into**子句,下面来具体介绍一下**into**子句如何使用。(1)指定一个宏变量
结果如下:
(2)指定多个宏变量
结果如下:
(3)指定一个宏变量来保存一列的所有值
结果如下:

蓝色起源将发售太空船票
PCB铜皮厚度规格 铜箔厚度与电流关系表
肉类水分测定仪产品介绍
直线马达中的无铁芯U型槽直线马达和有铁芯平板直线马达
什么是uCLinux?
如何用proc sql生成宏变量?
利用PWM技术构建高性能流量变送器
两种典型的电池供电电路的设计方案
为何说,2017年是国内物联网发展标志性一年
TI全新推出的经过全面测试的电池管理和牵引逆变器系统参考设计
中科大首次在国际上实现基于远距离自由空间信道的测量设备无关量子密钥分发
相机厂商抵御手机进攻 全画幅微单三足鼎立
基于WinCE系统的FIFO数据传输程序设计
什么是LoRa调制及LoRa调制特点是什么
车载显示行业分析
Canalys:随着竞争对手的暴跌,华为智能手机国内销量增长66%
Oculus暂不会在Rift S上开放手势追踪 主要原因是应用程序不兼容
塑料超声波焊接机常见故障
走近三款车用电池:锂电池/飞轮电池/镍氢电池
插头突拉试验机操作规程