楼主: sllhappy0729
1700 4

[原创博文] 请教一个循环问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:88份资源

硕士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
48 个
通用积分
0.0023
学术水平
2 点
热心指数
1 点
信用等级
0 点
经验
7894 点
帖子
75
精华
0
在线时间
229 小时
注册时间
2008-11-5
最后登录
2020-10-28

楼主
sllhappy0729 发表于 2010-10-22 16:35:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我需要写一段程序,对每个月的每个天进行一次循环,但是每个月的天数有变化,于是出现了下面的问题:
%macro aa;
  %do month=1 %to 12;
     %do day=1 %to 每个月的天数(28、30、31天);
     ……
     %end;
%end;
%mend ;

%aa;

请教大家,不知如何写这个循环?谢谢了
二维码

扫码加我 拉你入群

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

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

关键词:Macro month mont End MEN 程序 如何

沙发
crackman 发表于 2010-10-22 16:51:19
建议你确定好年份吧
年份不同天数不一样
用日期的DATDIF函数
在MONTH这层循环里面,定义一个变量对MONTH计数的
MDY确定好日期
DATDIF计算差值作为内循环的TO 终止
这样外循环一次,MONTH加了一个1,然后组件新的日期计算DAYS值

藤椅
pobel 在职认证  发表于 2010-10-22 16:57:51
假如是2010年:

%macro aa;

%let year=2010;

  %do month=1 %to 12;
      %if %sysfunc(index(%str( 1 3 5 7 8 10 12 ), %str( &month ))) %then %let days=31;
      %else %if %sysfunc(index(%str( 4 6 9 11 ) , %str( &month ))) %then %let days=30;
       %else %let days=%eval(%sysfunc(mdy(%eval(&month+1),1,&year))-%sysfunc(mdy(&month,1,&year)));

      %put Month &month has &days days!!;

     %do day=1 %to &days;
         
     %end;
%end;
%mend ;

%aa
和谐拯救危机

板凳
soporaeternus 发表于 2010-10-22 17:16:39
  1. %MACRO aa(YYYY);
  2.         %do month=1 %to 12 %by 1;
  3.                 %let ndays= %sysfunc(day(%sysfunc(intnx(month,%sysfunc(mdy(&month,1,&YYYY)),0,END))));
  4.                 %put MONTH &month Has &ndays Days!!!!;
  5.                 %do day=1 %to &ndays %by 1;
  6.                         %put &yyyy.-&month.-&day;
  7.                 %end;
  8.         %end;
  9. %MEND aa;
  10. %aa(2000);
复制代码
也需要一个年,和pobel的差不多
我的疑问是,这个和直接做年头到年尾的循环有什么区别?在月底有特殊动作还是别的什么的?
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
crackman + 60 + 1 + 1 发钱了
pobel + 1 + 1 + 1 精炼!学习一下

总评分: 论坛币 + 60  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

Let them be hard, but never unjust

报纸
jingju11 发表于 2010-10-23 03:51:33

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 14:02