i tried but i have an error:
data _null_;
fd = intnx('dtmonth', &dt, 0, 'B');
ld = intnx('dtmonth', &dt, 0, 'E');
fd_new= put(fd,datetime.);
ld_new= put(Ld,datetime.);
put fd_new d ld_new;
run;
%put NOTE: &fd_new;
%macro date_loop(start,end);
%let start=%sysfunc(inputn(&start,DATETIME16.));
%let end=%sysfunc(inputn(&end,DATETIME16.));
%let dif=%sysfunc(intck(HOUR,&start,&end));
%do i=0 %to &dif;
%let DATA_INIZIO=%sysfunc(intnx(HOUR,&start,&i,b),DATETIME16.);
%let DATA_FINE=%sysfunc(intnx(HOUR,"&DATA_INIZIO"dt,1),DATETIME16.);
%put &DATA_INIZIO;
PROC SQL ; /* ACCODO */
CREATE TABLE LDS.TORARIO_VUOTO_p AS
SELECT
KEYATM,
"&DATA_INIZIO"dt FORMAT=DATETIME16. AS DATA_INIZIO,
"&DATA_FINE"dt FORMAT=DATETIME16. AS DATA_FINE,
datepart("&DATA_INIZIO"dt ) FORMAT=DDMMYY10. AS Date,
HOUR("&DATA_INIZIO"dt ) FORMAT=BEST12. AS Time,
WEEKDAY( datepart("&DATA_INIZIO"dt ) ) FORMAT=BEST12. AS Day
from LDS.TORARIO_ANAG A
WHERE KEYATM = '020081319902752'
;
quit;
%end;
%mend date_loop;
%date_loop(&fd_new,&ld_new);
Log error:
276 data _null_;
277 fd = intnx('dtmonth', &dt, 0, 'B');
278 ld = intnx('dtmonth', &dt, 0, 'E');
279
280 fd_new= put(fd,datetime.);
281 ld_new= put(Ld,datetime.);
282 put fd_new d ld_new;
283 run;
NOTE: Variable d is uninitialized.
01JAN19:00:00:00 . 31JAN19:23:59:59
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
WARNING: Apparent symbolic reference FD_NEW not resolved.
284
285 %put NOTE: &fd_new;
NOTE: &fd_new
286
287
288
289 %macro date_loop(start,end);
290 %let start=%sysfunc(inputn(&start,DATETIME16.));
291 %let end=%sysfunc(inputn(&end,DATETIME16.));
292 %let dif=%sysfunc(intck(HOUR,&start,&end));
293 %do i=0 %to &dif;
294 %let DATA_INIZIO=%sysfunc(intnx(HOUR,&start,&i,b),DATETIME16.);
295 %let DATA_FINE=%sysfunc(intnx(HOUR,"&DATA_INIZIO"dt,1),DATETIME16.);
296 %put &DATA_INIZIO;
297
298 PROC SQL ; /* ACCODO */
299 CREATE TABLE LDS.TORARIO_VUOTO_p AS
300
301 SELECT
302 KEYATM,
303 "&DATA_INIZIO"dt FORMAT=DATETIME16. AS DATA_INIZIO,
304 "&DATA_FINE"dt FORMAT=DATETIME16. AS DATA_FINE,
305
306 datepart("&DATA_INIZIO"dt ) FORMAT=DDMMYY10. AS Date,
307 HOUR("&DATA_INIZIO"dt ) FORMAT=BEST12. AS Time,
308 WEEKDAY( datepart("&DATA_INIZIO"dt ) ) FORMAT=BEST12. AS Day
309
310 from LDS.TORARIO_ANAG A
311 WHERE KEYATM = '020081319902752'
312 ;
313 quit;
314
315
316 %end;
317 %mend date_loop;
318
319 %date_loop(&fd_new,&ld_new);
WARNING: Apparent symbolic reference FD_NEW not resolved.
WARNING: Apparent symbolic reference LD_NEW not resolved.
WARNING: Apparent symbolic reference FD_NEW not resolved.
WARNING: Argument 1 to function INPUTN referenced by the %SYSFUNC or %QSYSFUNC macro function is
out of range.
NOTE: Mathematical operations could not be performed during %SYSFUNC function execution. The
result of the operations have been set to a missing value.
WARNING: Apparent symbolic reference LD_NEW not resolved.
WARNING: Argument 1 to function INPUTN referenced by the %SYSFUNC or %QSYSFUNC macro function is
out of range.
NOTE: Mathematical operations could not be performed during %SYSFUNC function execution. The
result of the operations have been set to a missing value.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric
operand is required. The condition was: &dif
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro DATE_LOOP will stop executing.
thank's
... View more