Hola, espero estén todos bien.
como dice el titulo, qquisiera pasar a mayuscula un mes resultado de unos calculos. Anexo el conigo de como lo estoy haciendo y no funciona.
Disculpen, soy nueva.
Gracias de antemano.
%let today=%sysfunc(today());
%PUT &today;
%LET DATE = %sysfunc( putn( %sysfunc( date() ), DDMMYY10. ));
%LET MESmin = %sysfunc(putn(%sysfunc(intnx(month,&today,1,S)),ESPDFMN.));
%PUT $MESmin;
%LET MES = UPCASE($MESmin);
%Put &DATE;
%Put &MES;
@ElizaM wrote:
Que tal DATACOOL!
Te comparto una forma de hacerlo muy simplificado, espero sea de utilidad para lo que necesitas.
Data _null_;
Call Symputx("Fecha", put(today(),DDMMYY10.));
Call Symputx("Mes", Upcase(put(month(&fecha.),ESPDFMN.)));
Run;
%Put &=Fecha &=Mes;
Y como observación en las líneas de código que posteaste pusiste signo de pesitos en la línea 5 del código (%PUT $MESmin;) y para invocar una macrovariable debe ser con &.
¡Saludos!
Or even simpler:
data _null_;
call symputx("mes", upcase(put(today(),espdfmn.)));
run;
%put &=mes;
%LET MES = %UPCASE(&MESmin);
Note, the % sign before UPCASE and &MESmin rather than what you typed which was $MESmin.
Que tal DATACOOL!
Te comparto una forma de hacerlo muy simplificado, espero sea de utilidad para lo que necesitas.
Data _null_;
Call Symputx("Fecha", put(today(),DDMMYY10.));
Call Symputx("Mes", Upcase(put(month(&fecha.),ESPDFMN.)));
Run;
%Put &=Fecha &=Mes;
Y como observación en las líneas de código que posteaste pusiste signo de pesitos en la línea 5 del código (%PUT $MESmin;) y para invocar una macrovariable debe ser con &.
¡Saludos!
@ElizaM wrote:
Que tal DATACOOL!
Te comparto una forma de hacerlo muy simplificado, espero sea de utilidad para lo que necesitas.
Data _null_;
Call Symputx("Fecha", put(today(),DDMMYY10.));
Call Symputx("Mes", Upcase(put(month(&fecha.),ESPDFMN.)));
Run;
%Put &=Fecha &=Mes;
Y como observación en las líneas de código que posteaste pusiste signo de pesitos en la línea 5 del código (%PUT $MESmin;) y para invocar una macrovariable debe ser con &.
¡Saludos!
Or even simpler:
data _null_;
call symputx("mes", upcase(put(today(),espdfmn.)));
run;
%put &=mes;
Ohhh cielos, mil gracias de verdad!
Excelente solución ⭐⭐⭐⭐⭐
Also:
%let today=%sysfunc(today());
%let month = %upcase(%sysfunc(putn(%sysfunc(intnx(month,&today,1)),espdfmn.)));
%put &=month;
Hola Datacool!
Pero necesitás usar lenguaje de macros por algo en particular?
Porque seguramente lo podrías resolver sin usar macros. Salvo que eso es lo que estés buscando, claro.
Salu2.
@sardav wrote:
Hola Datacool!
Pero necesitás usar lenguaje de macros por algo en particular?
Porque seguramente lo podrías resolver sin usar macros. Salvo que eso es lo que estés buscando, claro.
Salu2.
The only reason I can think of to require macros here is to use the month name in a title or label or file name.
Ok, si es para usarlo en títulos y/o etiquetas y/o nombres de archivos --> estamos de acuerdo!
¡Hola! Parece que estás utilizando SAS para realizar tus cálculos. En tu código, estás tratando de convertir un mes en minúsculas a mayúsculas utilizando la función UPCASE. Sin embargo, parece que estás utilizando una sintaxis incorrecta.
Gracias por señalar la discrepancia y espero que esta corrección sea útil. Si tienes más preguntas o necesitas más ayuda, no dudes en preguntar. En su código, está intentando convertir un mes en minúsculas a un mes en mayúsculas utilizando la función UPCASE. Te recomendaría que tomaras como ejemplo https://onlinecasinojuegos.com/resenas/unique-casino que es un buen campo de juego. Sin embargo, parece que estás utilizando una sintaxis incorrecta.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!