zoukankan      html  css  js  c++  java
  • SAS学习笔记

    项目需要,最近研究SAS,来完成项目中的评估等功能,小小心得。

    之前的项目图标都是用弼杰来完成的,可一个功能完成不了,所以引入了SAS,

    看了下SAS环境里面自带的图形实例,确实很强大,而且安装SAS步骤繁复,需要小心再小心。

    今天在写SAS代码的时候发现了一个奇怪的现象,SAS和oracle有些标示符是通用的有些好像不可以。

    今天的问题主要是group by的问题

    问题描述:

    有一个比例的表CAOJIE-rate

    deptname TYPENAME PUR1 PUR2 PUR3 PUR4 PUR5 PUR6

    湖北 A320 1.1000 0.0000 0.0000 0.0000 0.0000 0.0000
    湖北 A320 0.0000 1.1000 0.0000 0.0000 0.0000 0.0000
    湖北 A320 0.0000 0.0000 1.1000 0.0000 0.0000 0.0000
    湖北 A320 0.0000 0.0000 0.0000 1.1000 0.0000 0.0000
    湖北 A320 0.0000 0.0000 0.0000 0.0000 1.1000 0.0000
    湖北 A320 0.0000 0.0000 0.0000 0.0000 0.0000 1.1000
    天津 B737 0.0000 0.0000 0.0000 1.1000 0.0000 0.0000
    天津 B737 0.0000 0.0000 1.1000 0.0000 0.0000 0.0000
    天津 B737 0.0000 1.1000 0.0000 0.0000 0.0000 0.0000
    天津 B737 1.1000 0.0000 0.0000 0.0000 0.0000 0.0000
    天津 B737 0.0000 0.0000 0.0000 0.0000 1.1000 0.0000
    天津 B737 0.0000 0.0000 0.0000 0.0000 0.0000 1.1000
    西南 A320 0.0000 0.0000 0.0000 1.1000 0.0000 0.0000
    西南 A320 0.0000 0.0000 1.1000 0.0000 0.0000 0.0000
    西南 A320 0.0000 1.1000 0.0000 0.0000 0.0000 0.0000
    西南 A320 1.1000 0.0000 0.0000 0.0000 0.0000 0.0000
    西南 A320 0.0000 0.0000 0.0000 0.0000 1.1000 0.0000
    西南 A320 0.0000 0.0000 0.0000 0.0000 0.0000 1.1000
    西南 A340 0.0000 0.0000 1.1000 0.0000 0.0000 0.0000
    西南 A340 0.0000 1.1000 0.0000 0.0000 0.0000 0.0000
    西南 A340 1.1000 0.0000 0.0000 0.0000 0.0000 0.0000
    西南 A340 0.0000 0.0000 0.0000 1.1000 0.0000 0.0000
    西南 A340 0.0000 0.0000 0.0000 0.0000 1.1000 0.0000
    西南 A340 0.0000 0.0000 0.0000 0.0000 0.0000 1.1000

    现在我通过group by语句可以把各个公司的比例

    select t.deptname,
    t.typename,
    sum(t.pur1),
    sum(t.pur2),
    sum(t.pur3),
    sum(t.pur4),
    sum(t.pur5),
    sum(t.pur6)
    from CAOJIE_RATE t
    group by t.deptname,/*and */t.typename

    结果如下

    天津 B737 1.1 1.1 1.1 1.1 1.1 1.1
    西南 A320 1.1 1.1 1.1 1.1 1.1 1.1
    西南 A340 1.1 1.1 1.1 1.1 1.1 1.1
    湖北 A320 1.1 1.1 1.1 1.1 1.1 1.1

    ORACLE里面是不支持分组字段中间用and连接,而SAS里面既支持and又支持,但两种情况的结果是截然不同的

    ,的情况结果和上面结果一样,代码如下

    proc sql;
    create table transfer.up_f_rate3 as
    select deptname,typename, sum(pur1) as fur1,sum(pur2) as fur2,sum(pur3) as fur3,sum(pur4) as fur4,sum(pur5) as fur5,sum(pur6) as fur6
    from transfer.up_f_rate
    group by deptname,typename;
    quit;

    and的情况,加不加group by结果一样,如下

    proc sql;
    create table transfer.up_f_rate3 as
    select deptname,typename, sum(pur1) as fur1,sum(pur2) as fur2,sum(pur3) as fur3,sum(pur4) as fur4,sum(pur5) as fur5,sum(pur6) as fur6
    from transfer.up_f_rate
    group by deptname and typename;
    quit;

    ORACLE是个分外妖娆的女人,她总能勾起你的欲望,去驾驭她
  • 相关阅读:
    视觉(9)争取快点看完基于图论的立体匹配算法
    STL笔记(2) STL之父访谈录
    视觉(7)Computer vision from Wikipedia
    *NIX工具使用(1) Vim notes
    STL笔记(1)map
    AI杂谈(1) 你喜欢ML里的哪些模型?希望ML未来向什么方向发展?
    AI杂谈(3): dodo:人脸识别方法个人见解(zz from prfans)
    AI杂谈(2)请教支持向量机用于图像分类
    视觉(3)blepo
    windows编程(2)深入探讨MFC消息循环和消息泵
  • 原文地址:https://www.cnblogs.com/caojie0432/p/3049720.html
Copyright © 2011-2022 走看看