A*******s 发帖数: 3942 | 1 在一个macro里创建了一堆dataset和local macro variable,为了不占用空间,有什么
方法在macro结尾处可以方便地删除它们?有啥方便点的方法么?谢谢
还有,multiple-layer nested macro里面有啥原则可以避免创建重名的datasets呢? |
d*******o 发帖数: 493 | 2 加一句 proc datasets kill;run; |
A*******s 发帖数: 3942 | 3 谢谢。还有一个问题想请教一下大牛,如果我要写一个自我嵌套的self-referential/
self-nested macro,不同层次的macro里面创建的temporal datasets重名了怎么办?
sas有没有local datasets这种概念,就像local macro variable一样,不同层次macro
创建的datasets不互相影响?
【在 d*******o 的大作中提到】 : 加一句 proc datasets kill;run;
|
g********0 发帖数: 90 | 4 我知道有local,global来封装
可以看看sas advanced tutor
里面有专门讲怎么用这个。
macro
【在 A*******s 的大作中提到】 : 谢谢。还有一个问题想请教一下大牛,如果我要写一个自我嵌套的self-referential/ : self-nested macro,不同层次的macro里面创建的temporal datasets重名了怎么办? : sas有没有local datasets这种概念,就像local macro variable一样,不同层次macro : 创建的datasets不互相影响?
|
A*******s 发帖数: 3942 | 5 谢谢,哪一章呢?考证真不管用,考过了就啥都忘了。
【在 g********0 的大作中提到】 : 我知道有local,global来封装 : 可以看看sas advanced tutor : 里面有专门讲怎么用这个。 : : macro
|
g********0 发帖数: 90 | 6 网页版的sas tutor
SAS Macro Language里面的Creating and Using Macro Programs
28页开始。
不知道可不可以解决你的问题
【在 A*******s 的大作中提到】 : 谢谢,哪一章呢?考证真不管用,考过了就啥都忘了。
|
A*******s 发帖数: 3942 | 7 我扫了一眼,似乎这是说global/local macro variables的
我想解决的问题是,怎么让互相嵌套的,不同层次的macro程序里创建的datasets不互
相冲突,如果这些dataset也想macro variable一样,有local/global的性质就好了。
但是还没google到相关的资料。
【在 g********0 的大作中提到】 : 网页版的sas tutor : SAS Macro Language里面的Creating and Using Macro Programs : 28页开始。 : 不知道可不可以解决你的问题
|
A*******s 发帖数: 3942 | 8 想了一下,我能想出来的解决方法就是用一个global macro variable &layer, 每次调
用一个macro program,&layer就+1,然后把macro里面创建的temporary datasets都以
_&layer为前缀命名,macro结尾再删去_&layer: 的所有datasets。
不知道有没有更简单的方法。 |
|