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是个分外妖娆的女人,她总能勾起你的欲望,去驾驭她
  • 相关阅读:
    JavaScript进阶教程(4)-函数内this指向解惑call(),apply(),bind()的区别
    JavaScript 进阶教程(2)---面向对象实战之贪吃蛇小游戏
    JavaScript 进阶教程(1)--面向对象编程
    使用canvas把照片旋转任意角度
    不会吧不会吧,你不会还不知道这些提高JS代码质量的骚操作吧?
    设计模式(12)[JS版]--JavaScript必会设计模式之外观模式(Façade Pattern)
    设计模式(11)[JS版]-JavaScript中的注解之装饰器模式
    开发二十一、移动微应用实现钉钉与k3cloud系统对接
    如何组织一场JAVA技能大练兵
    多地多活与单元化架构
  • 原文地址:https://www.cnblogs.com/caojie0432/p/3049720.html
Copyright © 2011-2022 走看看