【SAS BASE】SCAN函数

 1 【例子】
 2
 3 data a;
 4 arg=‘ABC.DEF(X=Y)‘;
 5 word=scan(arg,3);
 6 put word;
 7 run;/*word:X=Y*/
 8
 9 data b;
10 arg=‘ABC.DEF(X=Y)‘;
11 word=scan(arg,-3);
12 put word;
13 run;/*word:ABC*/
14
15 data c;
16 arg=‘ABC.DEF(X=Y)‘;
17 word=scan(arg,-20);
18 put word;
19 run;/*word:空格*/
20
21 data d;
22 input Arr $ & 22.;
23 ArrivalGate=scan(Arr,1,‘ ‘);
24 DepartureGate = scan(Arr,2,‘ ‘);
25 put  DepartureGate  ArrivalGate arr;
26 cards;
27 Arrival DepartureGates
28
29 run;
30 /*结果:ArrivalGate:Arrival;DepartureGate:DepartureGates*/
31
32
33 data e;
34 input Arr $ & 22.;
35 ArrivalGate=scan(Arr,1,‘ ‘);
36 DepartureGate = scan(Arr,2,‘ ‘);
37 put  DepartureGate  ArrivalGate arr;
38 cards;
39 Arrival,De d, ssd liu
40 ;
41 run;
42 /*结果:ArrivalGate:Arrival,De;DepartureGate:d, ssd*/

Scan函数

【功能】从字符表达式s中搜取给定的n个单词

【类别】 字符函数

【语法】

1. Scan(s,n) n为正数时,从字符s末尾提取n个字符

2. Scan(s,n) n为负数时,从字符s开始提取n个字符

3. SCAN (s,n<,list-of-delimiters>) 空格和参数指定的分隔符同作为分隔符判断单词

【注意】

1.       如果缺失指定的生成变量的长度,系统默认长度为200.

2.       如果|n|=0或大于字符s的长度,则该函数返回空格。

【SAS BASE】SCAN函数

时间: 2024-11-05 20:33:25

【SAS BASE】SCAN函数的相关文章

【SAS BASE】SAS函数

字符型变量 返回字符中参数的位置类 1 ANYALNUM(arg,start) /*输出arg中从第一位(若start缺失)或stat位开始的首次出现任何阿拉伯数字或字符的位置*/ 2 ANYALPHA(arg,start) /*输出arg中从第一位(若start缺失)或stat位开始的首次出现任何阿拉伯字符的位置*/ 3 ANADIGIT(arg,start) /*输出arg中从第一位(若start缺失)或stat位开始的首次出现任何阿拉伯数字的位置*/ 4 ANYSPACE(arg,star

【SAS BASE】Debuging SAS Programs

SAS Program的错误主要有三类: Programing Logic Errors(How to identify and resolve); Syntax errors(How to recogize anc correct); Data errors(How to examine and resolve. 如何写一个高效的SAS Program: 尽可能写易读的代码:(每一句话一行.使用缩进排版方式.多使用注释) 测试Program的任意一个部分 用小数据集测试Program(例如用O

【SAS BASE】ARRAY语句及多变量简写

ARRAY语句: 1 ARRAY array-name (n) $ variable-list; 2 array名 变量个数 变量列表(若为字符型,则需要$) 3 4 ARRAY STORE (4) Macys Penneys Sears Target; 5 DO i=1 to 10; 6 IF STORE(i)=9 THEN song(i)=.; 7 END; 多变量简写 1 /*以相同的字符开头,以连续的数字结尾(两条等价)*/ 2 INPUT cat8 cat9 cat10 cat11 c

【SAS BASE】PROC EXPORT

PROC EXPORT可导出两种类型的文件: 导出delimited文件 1 *例子; 2 PROC EXPORT DATA=hotels 3 OUTFILE='C:\MyRawData\Hotels.txt' /*后缀名决定了输出文件的格式,除此之外,额也可以通过DBMS=选项来指定.*/ 4 /*例如:space-delimited文件时没有标准的后缀名的,只能通过DBMS=选项来输出*/ 5 DBMS=DLM /*若输出CSV文件,则DBMS=CSV; 6 若输出txt文件,则DBMS=T

【SAS BASE】处理数据集

本节内容包括:SET语句.MERGE语句.UPDATA语句.OUTPUT语句.TRANSPOSE语句和data-set选项及SAS Automatic Variables 一.SET语句(堆叠功能) 用SET语句修改数据集 DATA Friday; SET Sales;/SET 'C:\MySASLIB\trains.dat'; IF DAY='F'; Total=Propcorn+peanuts;/*建立新的变量*/ RUN; 用SET语句堆叠(stack)数据 1 DATA BOTH; 2

【SAS BASE】PROC REPORT

PROC REPORT包含了PRINT.MEANS.TABULATE.SORT过程和DATA步的功能: 一.基本语法: 1 DATA natparks; 2 INFILE 'C:\MyRawdata\parks.dat'; 3 INPUT Name $ 1-21 Type $ Region $ Museums Camping; 4 RUN; 5 6 /*-----Group and Across Variables(Group:纵向;Across:横向)---*/ 7 *Region as Gr

【SAS BASE】ODS OUTPUT

一.ODS的基本性质 ODS输出格式:LISTING(默认的标准SAS输出).HTML.RTF.PRTNTER.PS.PCL.PDF.OUTPUT(SAS OUTPUT Date-set).MARKUP.DOCUMENT; ODS内有table template(指定输出结构)和style template(指定外观结构):首先通过table template作用从procedure中产生数据,形成output project,然后经过style template作用送到destination加

【SAS BASE】PROC TABULATE(输出更加精美的tabulate报告)

PROC TABULATE的一般形式:(主语与FREQ过程不同,这里是table 语句,不是tables) 1 PROC TABULATE FORMAT=options;/*FORMAT=选项改变table中所有cell的格式*/ 2 VAR analysis-variable-list; 3 CLASS classification-variable-list;/*在下面table语句中出现的变量必须预先在VAR语句或CLASS出现过*/ 4 TABLE page-dimension, row

【SAS BASE】PROC FREQ

一般形式: 1 PROC FREQ; 2 TABLES variable_combinations/options; 3 /*variable_combinations 4 若为单变量:TABLE variable-name; 5 若为多变量: TABLE variable-name-1 variable-name-2 ...; 6 若为交叉变量:TABLES variable-name-1*variable-name-2; 7 */ 常见的options有: 1 LIST:将cross-tab