代码之家  ›  专栏  ›  技术社区  ›  samrat

删除SAS宏中的尾随空格

  •  1
  • samrat  · 技术社区  · 6 月前

    我想删除宏中变量的尾随空格,我尝试了TRIM、STRIP、%LET,但没有任何效果。我能得到帮助吗?

    %MACRO DRY(count);
    data _NULL_;
    inpcount = "&count";
    baseref1 = substr(jobid,4,2);   ------ value of the jobid is 75412
    if inpcount < 10 then do;
       baseref = baseref2 || inpcount ;
    end;
    else do;
       baseref = baseref2 || inpcount ;
    end;
    call symputx('baseref',baseref,'g');
    run;
    
    %put baseref: &baseref;
    

    ---我得到的值为“SYMBOLGEN:宏变量BASEREF

    resolves to 38   1
    baseref: 38   01" 
    

    预期结果应为baseref:3801

    1 回复  |  直到 6 月前
        1
  •  0
  •   Tom    6 月前

    你的东西没什么问题 变量。

    错误在于 SAS代码 宏生成,您可以使用 || 操作员。使用 cats() 取而代之的是功能。

    baseref = cats(baseref2,inpcount) ;
    

    您还需要决定INPCONT应该是字符变量还是数字变量。

    你将其塑造为角色。

    inpcount = "&count";
    

    然后将其与一个数字进行比较。

    if inpcount < 10 then do;