以下代码实现功能:

1、获取10个模型分别使用哪些变量

2、变量所模型使用的次数

3、把上表格输出到EXCEL中

%INCLUDE '00@HEADER.SAS';

%let dir=..\04@Model;

libname cc "&dir";

PROC FORMAT;
VALUE UseFmt
1='使用'
0='未使用'
OTHER='其它'
;
RUN;

PROC DATASETS LIBRARY=S NODETAILS NOLIST;
DELETE ModelVariableList VarFreq;
RUN;

%MACRO FreqAppend(DSIN,FN);

PROC FREQ DATA=&DSIN;
TABLES &FN/MISSING NOPRINT OUT=A;
RUN;

DATA B;
LENGTH FName $32. VAL $200.;
SET A;
VAL=&FN.;
FName="&FN.";
DROP &FN.;
RUN;

PROC APPEND BASE=S.VarFreq DATA=B;

RUN;
%MEND;

%MACRO ModelVariable;

%DO SM=0 %TO 99;
DATA A;
LENGTH ModelOrder $3.;
SET CC.model_params&SM;
ModelOrder="&SM.";
RUN;
PROC APPEND BASE=S.ModelVariableList DATA=A;
RUN;
%END;

DATA S.ModelVariableList;
SET S.ModelVariableList;
ARRAY NUM{*} _NUMERIC_;
DO I=1 TO DIM(NUM);
IF MISSING(NUM{I}) THEN NUM{I}=0;
ELSE NUM{I}=1;
END;
KEEP ModelOrder X1_WOE X2_WOE X3_WOE X4_WOE X5_WOE B1_WOE S1_WOE;
RUN;
%MEND;

%ModelVariable;

DATA _NULL_;
DO V='X1_WOE','X2_WOE','X3_WOE','X4_WOE','X5_WOE','B1_WOE','S1_WOE';
CALL EXECUTE('%FreqAppend(S.ModelVariableList,'||V||')');
END;
RUN;

PROC PRINT DATA=S.VarFreq;
RUN;

PROC SORT DATA=S.VarFreq OUT=A1(DROP=PERCENT);
BY FName;
RUN;

PROC TRANSPOSE DATA=A1 OUT=A2(DROP=_NAME_);
BY FName;
RUN;

DATA A2;
SET A2;
IF MISSING(COL2) THEN COL2=0;
RUN;

ODS TAGSETS.EXCELXP FILE='ModelVariableList.XLSX';

PROC PRINT DATA=S.ModelVariableList LABEL;
VAR ModelOrder X1_WOE X2_WOE X3_WOE X4_WOE X5_WOE B1_WOE S1_WOE;
FORMAT X1_WOE X2_WOE X3_WOE X4_WOE X5_WOE B1_WOE S1_WOE UseFmt.;
LABEL ModelOrder='模型号';
RUN;

PROC SORT DATA=A2;
BY DESCENDING COL1;
RUN;

PROC PRINT DATA=A2 LABEL;
LABEL FName='变量' COL1='进入模型次数' COL2='未进入模型次数';
VAR FName COL1 COL2;
RUN;

ODS TAGSETS.EXCELXP CLOSE;

SAS 评分卡开发模型变量统计及输出的更多相关文章

  1. python: 模型的统计信息

    /*! * * Twitter Bootstrap * */ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-201 ...

  2. 15SpringMvc_在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册 ...

  3. Tensorflow模型变量保存

    Tensorflow:模型变量保存 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4.0 pyt ...

  4. TF:Tensorflow定义变量+常量,实现输出计数功能—Jason niu

    #TF:Tensorflow定义变量+常量,实现输出计数功能 import tensorflow as tf state = tf.Variable(0, name='Parameter_name_c ...

  5. kettle转换设置变量,校验输出新变量

    背景:有很多小的转换需要串联起来,如果前一个执行成功,后面继续接着执行,如果执行等待中,就让程序等一会再次获取数据分析,如果失败就中止,成功就进行下一个转换,以此类推.... 需求:通过job把参数传 ...

  6. SAS学习笔记46 宏变量的可使用范围

    全局宏变量 在宏程序内部,除了使用%GLOBAL语句创建.在某些情况下,还可以直接使用DATA步中的CALL SYMPUT创建. 在一个宏程序中,在包含CALL SYMPUT的DATA步程序之前,如果 ...

  7. SAS学习笔记41 宏变量存储及间接引用

    Macro Variables存储在“Symbol Table”中.它是由Macro Processor在SAS启动时自动创建并维护的.SAS提供了一张视图来供我们查看Symbol Table中的内容 ...

  8. SAS学习笔记10 宏变量

    一个宏变量存放的值保持不变直到被修改(全局变量) 引用时,变量名前加上"&" 宏变量在引用时放在双引号之间会被解读(单引号不会被解读) 用户定义的宏变量,有三种方式: %l ...

  9. 在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    1)  在默认情况下,springmvc不能将String类型转成java.util.Date类型,所有我们只能在Action 中自定义类型转换器 <form action="${pa ...

随机推荐

  1. python -- while循环,格式化输出,运算符,初识编码

    一.while循环 1.语法 while   条件: 循环体(结果) 如果条件为真,则直接执行结果),然后再次判断条件,知道条件为假,停止循环. while True: print('你是谁呢') 退 ...

  2. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map 一.前言 MapServer拥有非常灵活的标签 ...

  3. leetcode python 011

    ####给定n个非负整数a1,a2,...,an,其中每个表示坐标(i,ai)处的点.##绘制n条垂直线,使得线i的两个端点位于(i,ai)和(i,0).##找到两条线,它们与x轴一起形成一个容器,这 ...

  4. Fragment跳转至Activity片段随笔

    首先需要了解Fragment的生命周期 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, ...

  5. JavaWeb在线电子相册springmvc

    (一) 这学期上了一们叫做J2EE的选修课,本以为很水,没想到这个课这么烦气,最后大实验是一个springmvc的电子相册,做了两个周,终于完事了,姑且把这一篇叫做(一)吧 粗略看了一下啊,两个人的实 ...

  6. 一个class标签里面有多个属性时的提取标签

    <div class="uibox-con carpic-list03 border-b-solid">   #即这个标签同时满足三个class:“uibox”.“ca ...

  7. Python多进程并发操作中进程池Pool的应用

    Pool类 在使用Python进行系统管理时,特别是同时操作多个文件目录或者远程控制多台主机,并行操作可以节约大量的时间.如果操作的对象数目不大时,还可以直接使用Process类动态的生成多个进程,十 ...

  8. [LeetCode&Python] Problem 925. Long Pressed Name

    Your friend is typing his name into a keyboard.  Sometimes, when typing a character c, the key might ...

  9. Shell脚本、Shell脚本结构、date命令的用法、变量

    1.Shell脚本: shell是一种脚本语言 目的:可以实现自动化运维,能大大增加运维的效率.2.Shell脚本结构:   #!/bin/bash  以#!/bin/bash开头,即以/bin/ba ...

  10. java-IO流-字符流-FileReader、FileWriter、自定义小数组的拷贝、BufferedReader、BufferedWriter、readLine()和newLine()方法、LineNumberReader、使用指定的码表读写字符

    ###21.01_IO流(字符流FileReader) * 1.字符流是什么     * 字符流是可以直接读写字符的IO流     * 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要 ...