我尝试首先使用 sas.value,但得到的结果与预期不同

问题描述 投票:0回答:1

我正在尝试运行此代码进行基本演示:

[![DATA a ;
    INFILE DATALINES DSD DLM='|'  ;
    LENGTH Actor_Name $20 ;
    INPUT Actor_Name $ Total ;
    DATALINES ;
    Julie Maze | 1
    Julie Maze | 1
    Julie Maze | 1
    Marry Dryn | 1
    Marry Dryn | 1
    Marry Dryn | 1
    ;
RUN ;

PROC SORT DATA = work.a OUT = a_sorted ;
    BY Actor_Name ;
RUN ;

DATA b ;
    SET work.a_sorted ;
    BY Actor_Name ;
    IF first.Actor_Name
    THEN counter = 1 ;
    ELSE counter + 1 ;
RUN ;][1]][1]

我期望看到 6 条数据行,其中新列“计数器”将为每个 Actor_Name 组声明 1,2,3 和 1,2,3。但我得到 1,2,3 和 1,2,1

sas
1个回答
0
投票

第 6 条数据行可能有一个控制字符,也许是一个制表符?

© www.soinside.com 2019 - 2024. All rights reserved.