Nice job in teaching about creating a macro program within SAS. What I really like about the SAS macro language is not only can you share this code with other SAS users, but you can learn how to turn this macro into either a stored process (in 9.4) or a SAS Job Execution job (in SAS Viya) which then allows 3rd party languages/programming to execute and or interact with the SAS process/results.
So true... Once you have a macro program, there are so many great ways to make this code accessible to others through a variety of applications. Thanks!
Fantastic, and welcome to SAS! For people who are brand new to SAS, a great place to start is with our SAS Starter Kit 2.sas.com/6050GSxMe. Think of this as your one-stop-shop for resources, connecting with other SAS users, and product information.
Hi Aditi! Here are some great resources on Macros that might be helpful: 1. SAS Documentation on Introduction to the Macro Facility: 2.sas.com/6051G4TDc 2. SAS 9.4 Language Elements by Name, Product, and Category: 2.sas.com/6052G4TDY . From this link, you can scroll down to the section on Macros, and see a list of different types of SAS Macros alphabetically and by product. 3. This introductory level SAS training class, SAS Macro Language 1: Essentials : 2.sas.com/6053G4TDl 4. This introductory book, SAS Macro Programming Made Easy, Third Edition: 2.sas.com/6054G4TDm
The videos will help you get started, but certainly there is much more to learn about the SAS macro language! I strongly suggest taking the SAS Macro Language 1: Essentials course. There are a few different ways you can do it: 1) Visit support.sas.com/edu/schedules.html?crs=MAC1 to see if a live course is offered in your area, either in a classroom or Live Web. 2) Take the self-paced eLearning course through our SAS Learning Subscription. Access for the first 30 days is free: www.sas.com/en_us/training/offers/free-training.html 3) Take the same eLearning course through Coursera. You can audit the course for free, but you will not have access to the graded assessments nor will you receive a completion certificate. If you pay to subscribe to the course in Coursera, you can have full access to those additional resources: www.coursera.org/learn/sas-macro-language Hope that helps!
Hi! thanks for this course. Please the first resource's link is not working ... :( Could you provide us another one? I'm a beginner with SAS and I need to go deeper with macro programs . Thanks for all !!
Thank you very much for the video, it's really helpful. Can you please help me how to update old codes of PROC GPLOT to PROC SGPLOT for biplot graphs using macro language?
Thank you! We are glad you find our videos helpful! SAS Communities may be a good resource for you. You can look at #SASusers post like this one 2.sas.com/6050yDZVG or post your own questions 2.sas.com/6051yDZVH
Thanks for your patience while we checked on this! Yes, you can use SAS Studio for augmented backward elimination. Here is a paper that you may find useful that has a macro program that does augmented backward elimination: Microsoft Word - 20140924 ABE Technical Report.docx (2.sas.com/6054yR9E6), the program can be run in SAS Studio.
A period immediately following a macro variable reference acts as a delimiter; that is, a period at the end of a reference forces the macro processor to recognize the end of the reference. The period does not appear in the resulting text. There are several reasons to use the dot delimiter on the end of a macro name. Here is a link to the SAS Communities that should be helpful. 2.sas.com/6058o8aR4 You can email CurriculumConsulting@sas.com if you have any additional questions.
Sampath, Thanks again for your inquiry! Please re-watch the video and pay attention to the difference between positional parameters (time stamp 6:27) and keyword parameters (time stamp 7:34). At time stamp 6:27, the macro program is being defined with positional parameters. After the macro program is compiled and invoked at time stamp 6:44, you can see that the %MAXPRICE macro program is invoked with the values All,40000 as the values for the positional parameters. Then, at time stamp 7:34, the instructor explains that she is changing the positional parameters to keyword parameters and that one benefit of keyword parameters is to set defaults. So you see her specify dt=Front, maxprice=30000, and she explains that those are default values which will be used if the macro program is invoked without any overrides to those defaults. However, at time stamp 7:53, she is showing that with values of dt=All, maxprice=40000 to illustrate how to override the default values for those parameters when the macro program is invoked. Then, further, at time stamp 8:23, she explains that if she invoked the macro program WITHOUT using maxprice as a parameter, then the default of maxprice=30000 would be used, as originally defined in the %MACRO statement. There are several good books in the SAS bookstore on SAS Macro processing, by Art Carpenter and Michelle Burlew. These papers might also help you with an understanding of how macro processing works: 2.sas.com/6057HbjNb and 2.sas.com/6059HbjNd . === ===
Thanks so much for taking the time to watch this video! I hope you find it helpful. The SAS macro language is the best. :)
do you work for sas?
@@MasterofPlay7 Yes! I've been an instructor and course developer at SAS for 20 years.
@@staceysyphus8238 your teaching style is awesome.. Right pace and build interest..
Awesome, thank you so much for the feedback!
@@SASUsers +1 for stacey
Thanks a lot, you are so clear when talking (not only explanation, but pronunciation too)! pls keep upload more videos!
Thank you! We always love to hear from SAS users, and stay tuned for more content!
I am UGLY CRYING. THIS IS SO UNDERSTANDABLE AND SAVED ME. Thank you so much!! I hope you continue to make more videos!!
One of the Best trainers for SAS. Thanks for uploading this video.
Thanks for your feedback, Niyaz, and you're welcome - we're glad you liked it!
Glad you enjoyed it!
Nice job in teaching about creating a macro program within SAS. What I really like about the SAS macro language is not only can you share this code with other SAS users, but you can learn how to turn this macro into either a stored process (in 9.4) or a SAS Job Execution job (in SAS Viya) which then allows 3rd party languages/programming to execute and or interact with the SAS process/results.
Thank you for your input! 👍
So true... Once you have a macro program, there are so many great ways to make this code accessible to others through a variety of applications. Thanks!
IS SO UNDERSTANDABLE AND VERY HELPFUL VIDEO THANKS A LOT
Thank you very much for sharing the video. Everything is explained in a very simple and easy way.
Awesome! We are glad you found it helpful! 👍
Amazing SAS Tutorial... congratulations Instrutor 🤓
This is excellent. Thank you, Stacy. Thank you, SAS.
Very good session with practically applied examples !
Thank you for the positive feedback!
This is a very helpful video! This tutorial was very easy for me to understand how marco works on sas. I just learned week ago. Thank you!
Fantastic, and welcome to SAS! For people who are brand new to SAS, a great place to start is with our SAS Starter Kit 2.sas.com/6050GSxMe. Think of this as your one-stop-shop for resources, connecting with other SAS users, and product information.
This is good. Please do more videos on macro language topics
Thanks for sharing - noted!
Thank you, as a SAS beginner it's really helpful for me to find such amazing explanations!
Awesome! We're glad the tutorial was helpful!
I really like your videos, the explanation is clear and detail. Very useful. I hope you will do more macro videos like this.
Awesome! Thanks for your feedback!
Very good video and very useful too
Thanks for the feedback, Sumit! Glad you enjoyed it.
Thanks for the video 👍👍
Certainly! We are glad you liked it! 👍
Good explanation 👏
You are amazing..thanks for the video :)
Thank you, too!
Very useful. Thank you.
We're so glad you enjoyed it!
Thanks macro programs is the best.
Felicitaciones....😊👍👍👍
Merci Stacey,
Muito obrigado por este vídeo! (Thanks a lot for this video)!
You bet! It's such a helpful skill in SAS.
I went through your two videos Stacey they were amazing but Can u teach A to Z in macro. What is the process and how to write your own macro?
Hi Aditi! Here are some great resources on Macros that might be helpful:
1. SAS Documentation on Introduction to the Macro Facility: 2.sas.com/6051G4TDc
2. SAS 9.4 Language Elements by Name, Product, and Category: 2.sas.com/6052G4TDY . From this link, you can scroll down to the section on Macros, and see a list of different types of SAS Macros alphabetically and by product.
3. This introductory level SAS training class, SAS Macro Language 1: Essentials : 2.sas.com/6053G4TDl
4. This introductory book, SAS Macro Programming Made Easy, Third Edition: 2.sas.com/6054G4TDm
The videos will help you get started, but certainly there is much more to learn about the SAS macro language! I strongly suggest taking the SAS Macro Language 1: Essentials course. There are a few different ways you can do it:
1) Visit support.sas.com/edu/schedules.html?crs=MAC1 to see if a live course is offered in your area, either in a classroom or Live Web.
2) Take the self-paced eLearning course through our SAS Learning Subscription. Access for the first 30 days is free: www.sas.com/en_us/training/offers/free-training.html
3) Take the same eLearning course through Coursera. You can audit the course for free, but you will not have access to the graded assessments nor will you receive a completion certificate. If you pay to subscribe to the course in Coursera, you can have full access to those additional resources: www.coursera.org/learn/sas-macro-language
Hope that helps!
Thank you.
You're welcome, Bryan!
Hi! thanks for this course. Please the first resource's link is not working ... :( Could you provide us another one?
I'm a beginner with SAS and I need to go deeper with macro programs .
Thanks for all !!
Srougbo, thank you so much for your interest! Thanks for catching that, we will get it updated! In the meantime, try this link 2.sas.com/6055y8yvc
Thank you very much for the video, it's really helpful. Can you please help me how to update old codes of PROC GPLOT to PROC SGPLOT for biplot graphs using macro language?
Thank you! We are glad you find our videos helpful! SAS Communities may be a good resource for you. You can look at #SASusers post like this one 2.sas.com/6050yDZVG or post your own questions 2.sas.com/6051yDZVH
Thank you for your tutorial
Empire, you are welcome! Glad you found it helpful!
thankyou. SMS!
Thanks so much. Can I use SAS studio for the augmented backward elimination method ?
Hi! We're checking on this for you, and will follow up with more info shortly! 👍
Thanks for your patience while we checked on this!
Yes, you can use SAS Studio for augmented backward elimination. Here is a paper that you may find useful that has a macro program that does augmented backward elimination: Microsoft Word - 20140924 ABE Technical Report.docx (2.sas.com/6054yR9E6), the program can be run in SAS Studio.
Thanks so much. I can do it now in SAS studio 😍
Awesome! Glad we could help!
When do you use ¯o_var. As opposed to ¯o_var
Thank you for the question. We are looking into this for you.
A period immediately following a macro variable reference acts as a delimiter; that is, a period at the end of a reference forces the macro processor to recognize the end of the reference. The period does not appear in the resulting text. There are several reasons to use the dot delimiter on the end of a macro name.
Here is a link to the SAS Communities that should be helpful.
2.sas.com/6058o8aR4
You can email CurriculumConsulting@sas.com if you have any additional questions.
maxprice=30000 is mentioned in first statement. The same is changed at%mend statement. Please advise
We are checking on this for you!
Sampath, Thanks again for your inquiry! Please re-watch the video and pay attention to the difference between positional parameters (time stamp 6:27) and keyword parameters (time stamp 7:34). At time stamp 6:27, the macro program is being defined with positional parameters. After the macro program is compiled and invoked at time stamp 6:44, you can see that the %MAXPRICE macro program is invoked with the values All,40000 as the values for the positional parameters. Then, at time stamp 7:34, the instructor explains that she is changing the positional parameters to keyword parameters and that one benefit of keyword parameters is to set defaults. So you see her specify dt=Front, maxprice=30000, and she explains that those are default values which will be used if the macro program is invoked without any overrides to those defaults. However, at time stamp 7:53, she is showing that with values of dt=All, maxprice=40000 to illustrate how to override the default values for those parameters when the macro program is invoked. Then, further, at time stamp 8:23, she explains that if she invoked the macro program WITHOUT using maxprice as a parameter, then the default of maxprice=30000 would be used, as originally defined in the %MACRO statement. There are several good books in the SAS bookstore on SAS Macro processing, by Art Carpenter and Michelle Burlew. These papers might also help you with an understanding of how macro processing works: 2.sas.com/6057HbjNb and 2.sas.com/6059HbjNd .
=== ===