SAS中使用format的值

您所在的位置:网站首页 sas定义变量的格式有哪些要求 SAS中使用format的值

SAS中使用format的值

2024-07-13 12:39| 来源: 网络整理| 查看: 265

如果一个变量a被设定了format,那么我们点开数据集看到的并不是这个变量本身的值,而是format的值。如果我们想用另一个变量b保存下来这个format的值,那么直接b=a是不行的,有两种方式,一种是

b=vvalue(a);

b=putc(a,vformat(a));(如果是数值型用putn)

具体例子如下:

第一种 使用vvalue函数:

在一个数据集ie中有ieyn这个变量,可以看到这个函数有两个值,Y或N;

我们使用如下语句选择数据,发现是没有任何记录选择出来的。

查看这个变量,发现这个变量定义了输出格式format,所以这个Y或N并不是这个变量真正的值。

我们使用下面这段话将ieyn赋值给a,可以看到a只继承了ieyn的变量类型和长度,并没有继承其输入格式和输出格式,所以Y的真正的值是C49488,而N的值是C49487。

用这个format语句也可以去除ieyn的format格式(同理informat语句可以清除informat格式)。

那么我们想筛选出ieyn为Y的记录可以使用如下两种方法:

一般都是使用vvalue函数的,毕竟我们并没有必要多此一步去查这个变量的真实值。

从这个结果上我们也可以倒推$NYNA1这个format的定义:

proc format;

    value $nyna1

        "C49487"="N"

        "C49488"="Y" ;

run;

第二种 使用putc\putn函数:

formatted-val=PUTC(char-val,format);

formatted-val=PUTN(num-val,format);

需要注意的是:点符号不能与PUTC或PUTN函数一起使用。为了允许正确解析char-val和num-val参数,这个限制是必要的。

有关使用格式返回值的更多信息,请参见SAS函数和CALL例程:参考中的PUT函数。

plpeipde变量的真实的值是a;format是b,保留的format值是c和d



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3