请选择 进入手机版 | 继续访问电脑版
楼主: zhiyong75
2710 6

[原创]还有谁比我的这个DDE更好的? [推广有奖]

  • 0关注
  • 1粉丝

硕士生

97%

还不是VIP/贵宾

-

威望
0
论坛币
2023 个
通用积分
0.1200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
187 点
帖子
78
精华
0
在线时间
278 小时
注册时间
2006-9-5
最后登录
2017-8-20

zhiyong75 发表于 2007-1-24 17:12:00 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

有对SAS的MDX有兴趣的可以和我联系,nkwill@hotmail.com.初学者勿打扰.

/**************************************
*
*此程序实现对多个数据集输入到一个EXCEL工作簿中,
*唯一遗憾的是SHEET排序为倒序
*
********************************************/
OPTION SYMBOLGEN;
DATA A;
DO I=1 TO 100;
OUTPUT;
END;
RUN;
DATA B;
DO I=101 TO 500;
OUTPUT;
END;
RUN;

DATA C;
DO I=10 TO 500;
OUTPUT;
END;
RUN;
DATA D;
DO I=20 TO 500;
OUTPUT;
END;
RUN;

/**********以下程序实现将一个或者两个SAS数据集运用DDE输出到同一个EXCEL工作簿不同工作表中*/
options noxsync noxwait xmin;
filename sas2xl dde 'excel|system';
%let tab='09'x;

%MACRO TIME;
data _null_;
length fid rc start stop time 8;
fid=fopen('sas2xl','s'); /*此处fid=0,因为并没有start excel*/
if (fid le 0) then do;
rc=system('start excel'); /*启动excel,并保持10秒,以便EXCEL宏有足够的时间控制来自SAS程序的EXCEL宏参数*/
start=datetime();
stop=start+10;
do while (fid le 0);
fid=fopen('sas2xl','s');
time=datetime();
if (time ge stop) then fid=1;
end;
end;
rc=fclose(fid);
run;
%mend;

%MACRO XLM;
data _null_;/*插入一个宏insert(3)*/
file sas2xl;
put '[workbook.next()]';
put '[workbook.insert(3)]';
run;

filename xlmacro dde 'excel|macro1!r1c1:r100c1' notab ;

data _null_;
file xlmacro;
put '=workbook.name("sheet1","第一")';
put '=workbook.name("sheet2","第二")';
put '=workbook.name("sheet3","第三")';
put '=workbook.name("sheet4","第四")';

put '=halt(true)';
put '!dde_flush';
file sas2xl;
put '[run("macro1!r1c1")]'
;
run;

filename xlmacro clear;
%MEND XLM;

%MACRO SHEET(N);


filename recrange dde "excel|[tt.xls]sheet&N!r4c1:r65000c1" notab;

data _null_; /***写入第一个数据集*/
set &&D&N;
file recrange;
put I
;
run;

filename recrange clear;

filename recrange dde "excel|[tt.xls]sheet&N!r3c1:r3c1" notab;

data _null_; /*写入标签值*/
file recrange;
put '手机号码'
;
run;

filename recrange clear;


data _null_; /*制作列宽,3表示自动按原字段值调整*/
file sas2xl;
put '[column.width(0,"c1:c1",false,3)]';
run;

data _null_;


file sas2xl;
put '[workbook.insert(1)]';


run;

%MEND SHEET;


%MACRO DDE1(d1,d2,d3,d4);
%TIME
data _null_; /*创建一个新工作簿;并删除原有的缺省值3张表;建立一个新表并保存*/
file sas2xl;
put '[file.close(false)]';
put '[new(1)]';
put '[error(false)]';
put '[save.as("D:\tt")]';
run;
%SHEET(1)
%SHEET(2)
%SHEET(3)
%SHEET(4)


%XLM

data _null_;
file sas2xl;
put '[workbook.delete("macro1")]';
put '[save]'; /*保存数据集*/

put '[file.close(false)]'; /*关闭文件*/
put '[quit]'; /*退出EXCEL程序*/
run;


%MEND DDE1;

%DDE1(A,B,C,D);

二维码

扫码加我 拉你入群

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

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

关键词:DDE workbook filename datetime hotmail DDE 原创

冀京四海 发表于 2007-1-24 20:59:00 |显示全部楼层 |坛友微信交流群
跟那个是一样的吧?怎么发2次?

使用道具

manchestor 发表于 2007-1-25 13:59:00 |显示全部楼层 |坛友微信交流群
好的

使用道具

olivia_yyww 发表于 2007-1-27 03:23:00 |显示全部楼层 |坛友微信交流群

it is better to put this on SASOR. you will get what you want definitly

here,i think most of us are freshman for you

使用道具

蓝色 发表于 2007-1-31 18:51:00 |显示全部楼层 |坛友微信交流群
sas功能是强大啊

使用道具

sasjunior 发表于 2014-12-11 16:26:33 |显示全部楼层 |坛友微信交流群
lz,我是初学者,虽然您说初学者勿扰,但我还是想请教您下,关于macro和DDE的。下面是我写的一个小程序,想建立一个宏能够时间对图回写到excel里,但一运行就卡死,不知道是哪里的问题,想请教您,如能回复,将十分感谢!
data case24_4;
input group id age sex alt1 alt2;
cards;
2 11 39 1 46 37
2 12 43 2 32 24
1 13 47 1 70 54
1 14 45 1 31 23
2 21 56 1 23 19
2 22 59 1 16 22
1 23 52 1 60 63
1 24 50 1 72 37
1 31 54 2 17 24
1 32 53 2 73 63
;
run;
proc sort data=case24_4;  by group;
%macro graph;
goption gsfname=gsfout dev=png;
filename gsfout "e:\f1.png";
proc gplot data=case24_4;
     plot alt1*alt2/nofr;
     run;
filename xls dde'excel|system';
     data _null_;
        file xls;
        put"[workbook.activate(%bquote("f1"))]";
        put"[select(%bquote("r1c1"))]";
        put"[insert.picture(%bquote("e:\f1.png"))]";
run;
%mend graph;

%graph

使用道具

ydbin 学生认证  发表于 2014-12-12 10:32:13 |显示全部楼层 |坛友微信交流群
颖的SAS数据

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-16 19:38