首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAS -使用retain语句

SAS -使用retain语句
EN

Stack Overflow用户
提问于 2011-02-19 16:27:23
回答 1查看 3.3K关注 0票数 0

我有一个包含ids、日期和金额的数据集。根据交易金额和所执行的交易数量,每个id可以有几行。我需要使用retain语句来找出第一次数量变化之间的时间差。我知道我需要保留所有3个变量,但不确定如何去做?任何帮助都是最好的

EN

回答 1

Stack Overflow用户

发布于 2011-02-20 05:09:50

下面是retain语句的基本用法。我不能从你的描述中确切地说出你需要什么。也许您需要匹配第二个变量,然后使用if ... then ... else ... (日期匹配,然后...,retain ...)不管怎样,也许这能让你开始...

代码语言:javascript
复制
 DATA in;
    INPUT id var1 ;
    DATALINES;
      1  12   
      1  24   
      1  26   
      2  20   
      2  25   
      2  11  
 ;

 DATA out (drop=var1_lag);
   set in; 
   by id; 
   if first.id then diff=.;
   else             diff = var1 - var1_lag;
   var1_lag = var1;
   retain var1_lag;

 PROC PRINT data=out; 
 RUN; 

输出:

代码语言:javascript
复制
 Obs    id    var1    diff

  1      1     12        .
  2      1     24       12
  3      1     26        2
  4      2     20        .
  5      2     25        5
  6      2     11      -14
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5049731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档