PROC SQL宏js 变量 换行如何换行输出

没有更多推荐了,
不良信息举报
举报内容:
sas中宏变量、创建方式及区别
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!苹果/安卓/wp
学科带头人
学科带头人
积分 3682, 距离下一级还需 2143 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡, 抢沙发, 变色卡, 提升卡, 沉默卡, 千斤顶
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 29 天连续签到: 3 天[LV.4]偶尔看看III
每一次宏循环,宏变量x都产生一个值
现在想把每一步的宏变量x值放在一个数据集a中,生成一个变量x,每一次循环产生的x值作为一个观测。并把循环标识i一起,作为另外一个变量
请问怎么个思路
建议你下次求助能给个无论大小的前提,例如这个宏变量是x1,x2的形式啊,或是就只叫做一个x用append可以免去新建base数据集的麻烦;但是小心如果本身all就存在,他会把all直接拿来用。
也可以用SQL的insert来插值。
本帖最后由 Tigflanker 于
12:11 编辑
%
&&%do i = 1 %to 5;
& & %let x&i. = %scan(1 q 2 w 3,&i.);
& && &&&
& && && & length x $20.;
%if &i. & 1 %then %
& && && & set collect end =
& && && &
& && && &
%
& && &&&x = &&&x&i..&;
& && &&&i = &i.;
& && &&&
%sysfunc(ifc(&i. & 1,,))
& && &&&
&&%
%
%复制代码建议你下次求助能给个无论大小的前提,例如这个宏变量是x1,x2的形式啊,或是就只叫做一个xOr:
%
&&%do i = 1 %to 5;
& & %let x&i. = %scan(1 q 2 w 3,&i.);
& && &&&
& && && & length x $20.;
& && && & x = &&&x&i..&;
& && && & i = &i.;
& && &&&
& && &&&proc append base = all data =
& && &&&
&&%
%
%复制代码用append可以免去新建base数据集的麻烦;但是小心如果本身all就存在,他会把all直接拿来用。
也可以用SQL的insert来插值。
若有缘,能重聚。
Tigflanker 发表于
建议你下次求助能给个无论大小的前提,例如这个宏变量是x1,x2的形式啊,或是就只叫做一个x用append可以免去 ...如果x是数字的呢
小鳄鱼a 发表于
如果x是数字的呢是一样的。
在一个data步过程中,编译器会先将data步内的宏变量和宏语句先行解析,将解析后的结果直接当做正常文本替换。
%let a = 1;
&&value = &a.;
&&value = 1;
&&value = &&a.&;
&&value = &1&;
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师如何引用proc sql创建的宏变量_百度知道
如何引用proc sql创建的宏变量
我有更好的答案
CREATE PROC[EDURE] 过程名
[@参数1 类型][=默认值][ OUTPUT],
[@参数N 类型][=默认值][ OUTPUT]
SQL 语句GO带中括号的都是可以简写或不写的。。
采纳率:56%
来自团队:
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。苹果/安卓/wp
积分 241, 距离下一级还需 19 积分
权限: 自定义头衔
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡下一级可获得
权限: 签名中使用图片道具: 变色卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
有这样一个数据集,抬头要做成这个样子,一个格子里有两行
22:46:56 上传
自己编了一个
22:48:56 上传
22:51:26 上传
不知道换行符是什么 有什么用法 格式
求各位大神赐教!
proc print data=sashelp.class split=&\&;
label height=&my\heigh\t&;
复制代码
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师苹果/安卓/wp
积分 308, 距离下一级还需 142 积分
权限: 自定义头衔, 签名中使用图片
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡, 变色卡下一级可获得
道具: 抢沙发
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 10 天连续签到: 1 天[LV.3]偶尔看看II
%macro bl(var);
select name into :keeplist separated by ' '
from sashelp.vcolumn
where libname='WORK' and memname='A' and name like '&var';
%bl(a%_1);
为什么调用这段宏后,提示:
WARNING: 没有解析宏 _1 的调用
本帖最后由 mingfeng07 于
15:32 编辑
这个%是触发宏引用的字符,%_1指对宏_1进行解析,为了避免这个情况,你可以用%bl(%nrstr(a%_1));另外在解析宏变量用双引号,如name like “&var”。
%是用来调用宏程序的,你这样写sas就会把_1看成宏程序,改为%bl(%str(a%_1))就行
%macro bl(var);
& & & & select name into :keeplist separated by ' '
& & & & from sashelp.vcolumn
& & & & where libname='WORK' and memname='A' and name like &&var&;
%bl(%nrstr(a%_1));
title &均数&;
谢谢上面两位,之前都问题就能解决,可是在下面都proc means中调用宏程序里面生产都keeplist变量又出错,提示:Error:变量KEEPLIST没有找到,这个是什么原因呢,忘多指导,纯新手,谢谢
273&&%bl(%nrstr(a%_1));
NOTE: “PROCEDURE SQL”所用时间(总处理时间):
& && &实际时间& && && &0.00 秒
& && &CPU 时间& && && &0.00 秒
275&&var &
& && && &-
& && && &22
& && && & --------
& && && & 202
WARNING: 没有解析符号引用 KEEPLIST。
ERROR: 变量 KEEPLIST 没有找到。
ERROR 22-322: 语法错误,期望下列之一: 名称, ;, /, _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_.
ERROR 202-322: 该选项或参数不可识别,将被忽略。
276&&title &均数&;
NOTE: SAS 系统由于错误而停止了该步的处理。
NOTE: “PROCEDURE MEANS”所用时间(总处理时间):
& && &实际时间& && && &0.01 秒
& && &CPU 时间& && && &0.01 秒
mingfeng07 发表于
这个%是触发宏引用的字符,%_1指对宏_1进行解析,为了避免这个情况,你可以用%bl(%nrstr(a%_1));另外在解析 ...谢谢你都答复,能在帮忙看看嘛?
keeplist 是一个local 宏变量,宏结束就消失了。
把proc means 放到宏里面就行了
根据规定进行奖励
总评分:&论坛币 + 30&
sas_user 发表于
keeplist 是一个local 宏变量,宏结束就消失了。
把proc means 放到宏里面就行了感谢,已经搞定了
初级热心勋章
初级热心勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师}

我要回帖

更多关于 sas输出宏变量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信