带有两个参数SAS 9.4的宏

时间:2018-12-19 23:13:43

标签: macros sas

我有一个包含4个变量的表:州(阿拉巴马州,亚利桑那州和阿肯色州),县,贫困率和人口密度。我想要一个带有两个参数(州和县)的短宏,它将为任何州/县组合打印数据。我想出了以下代码,该代码在阿拉巴马州的卡温顿县进行了测试,它给出了应有的功能,但是不确定这是否是创建此宏的最有效/正确的方法?任何反馈/建议,将不胜感激。谢谢。

%macro state_county(state,county);  
  data NEW3;
    set NEW; 
    where state="&state"; 
  run; 
  data new4; 
    set NEW3; 
    where county="&county"; 
  proc print data=NEW4 NOOBS; 
  run; 
%mend state_county; 

%state_county(Alabama,Covington);

1 个答案:

答案 0 :(得分:2)

如果只需要打印,则只有一个PRINT。您可以将WHERE直接放在PROC PRINT中,既可以作为自己的语句,也可以作为数据集选项。如果您的数据量很大,则数据集选项可能会更有效。

volumes:
      - name: solr-collection-config
        configMap:
          name: solr-collection-resources
          items:
          - key: stopwords_en.txt
            path: "conf/lang/stopwords_en.txt"
          - key: _rest_managed.json
            path: "conf/_rest_managed.json"
          - key: currency.xml
            path: "conf/currency.xml"
          - key: protwords.txt
            path: "conf/protwords.txt"
          - key: schema.xml
            path: "conf/schema.xml"
          - key: solrconfig.xml
            path: "conf/solrconfig.xml"
          - key: stopwords.txt
            path: "conf/stopwords.txt"
          - key: synonyms.txt
            path: "conf/synonyms.txt"
      restartPolicy: Never