我之前从未在sas工作过,现在我继承了一个我修改过问题的sas代码。我有一个sas数据语句,如下所示:
data newdata;
length field1 $12.
field2 8.
field3 $7.
;
format field1 16.;
run;
我需要在最后添加一个数据字段,以便我可以使用
proc append base = newdata data = /*something*/
我该怎么做呢?数据字段采用此格式
ddMMMyy e.g. 02MAR15
我试过了
data newdata;
length field1 $12.
field2 8.
field3 $7.
field4 date9.
;
format field1 16.;
run;
以及
data newdata;
format dob date9.;
length field1 $12.
field2 8.
field3 $7.
field4 dob ddmmmyy10.
;
format field1 16.;
run;
似乎无效。我可以将字符串指定为field4的数据类型,但在追加期间它会失败。
答案 0 :(得分:3)
这里的问题是length
和format
是两回事。 date9.
是一种格式,而不是长度;数字变量的长度为3到8,但除此之外没什么。
如果我理解你的要求,你就会有一个包含3列的数据集,以及另一个包含四列的数据集,并希望将后者附加到前者。
如果是这样,最简单的选择是使用if 0 then set
,它采用设置数据集的结构并将其复制而不复制其数据。
data have;
length field1 $12.
field2 8.
field3 $7.
;
run;
data have2;
length field1 $12.
field2 8.
field3 $7.
field4 8.
;
format field4 date9.;
run;
data have;
if 0 then set have2; *copies structure of have2 onto this data step PDV;
set have;
run;
proc append base=have data=have2;
run;
虽然老实说你可以做到
data want;
set have have2;
run;
因为你将以任何方式重新处理所有have
。
答案 1 :(得分:0)
为什么不使用强制选项:
<article class="preview {{size}}" ng-if="desktop">
<a class="cover absolute" style="background-image:url(/images/samples/sample-image.jpg);">
<div class="post-info absolute full-width padding">
<h2 ng-if="artist" class="text-center">band name</h2>
<h3 class="post-title section-spacer" ng-if="!artist">title of news artcle <span>2hrs</span></h3>
<p ng-if="caption==true; !artist" class="post-caption">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud</p>
</div>
<div class="post-preview-gradient"></div>
</a>
</article>