全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1241 2
2013-03-21
悬赏 100 个论坛币 已解决
呵呵,想做个那个:判断宏内某个宏变量a,如果是1,则弹出选择窗口

窗口内容如下:有个提示句(例如:请选择对变量&b.的处理方式:)两个按钮,按钮上有字,例如(加&c.)(乘&d.)

按下某个按钮后,得到一个返回值(例如:%let flag=1),关闭窗口,继续运行宏下面的语句。

会意即可,不必细化变量和数值,谢谢。

最佳答案

yongyitian 查看完整内容

网上搜了一下,照猫画了半个虎。仅供参考。 你大概要用到3个语句%window, %display, and %input。 %window是创建一个窗口(window) %display是显示这个window %input是给宏变量赋值 您可以在宏内或宏外宏创建窗口(window) 如果在宏的外部创建window,你需要在使用之前编译. 然后在你的宏里,你可以使用%display语句打开窗口 用%input 给宏变量赋值(没试过 %input). 下面是一个简单的例子. 这段程序显示一个 ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-3-21 01:13:20
网上搜了一下,照猫画了半个虎。仅供参考。
你大概要用到3个语句%window, %display, and %input。
%window是创建一个窗口(window)
%display是显示这个window
%input是给宏变量赋值

您可以在宏内或宏外宏创建窗口(window)
如果在宏的外部创建window,你需要在使用之前编译.
然后在你的宏里,你可以使用%display语句打开窗口
用%input 给宏变量赋值(没试过 %input).

下面是一个简单的例子. 这段程序显示一个窗口。要求输入3个数据,数入每个数据后要按回车,3个回
车后窗口关闭。输入的数据可一在log中看到。
you can also see the printed file in result window.

You may try your macro and investigate further.  Good Luck.

%macro mymacro;
%global libname dsn var;
%window HaHa         
  #3 @20 'This is only a demonstration of %window statement' color blue
  #6 @5 'Please enter a libname:'      
  #6 @35 Libname 8 attr=underline               
  #8 @5 'Please enter dataset name:'            
  #8 @35 dsn 8 attr=underline display=yes
  #10 @5 'Please enter a variable name:'
  #10 @35 var 8 attr=underline display=yes;

  /* other macro code */
%display Haha blank;

%put Libname entered was &Libname;         
%put Dataset name entered was &dsn;
%put Variable name entered was &var;

/*  other macro code */
proc print data=&libname..&dsn;
     var &var;
         run;
%mend mymacro;
%mymacro;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-21 09:12:35
我觉得要做好一个能对数据集进行比较并处理的宏,交互式执行很有必要~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群