SAS Chapter 12: Storing Macro Programs

Reviewed by Editorial Team
The ProProfs editorial team is comprised of experienced subject matter experts. They've collectively created over 10,000 quizzes and lessons, serving over 100 million users. Our team includes in-house content moderators and subject matter experts, as well as a global network of rigorously trained contributors. All adhere to our comprehensive editorial guidelines, ensuring the delivery of high-quality content.
Learn about Our Editorial Process
| By Moxleyv
M
Moxleyv
Community Contributor
Quizzes Created: 38 | Total Attempts: 21,992
| Attempts: 330 | Questions: 10
Please wait...
Question 1 / 10
0 %
0/100
Score 0/100
1. Why would you want to store your macros in external files?

Explanation

If you store your macro definitions in external files, you can easily share these files with others. Also, you can edit a macro definition that is stored in an external file with any text editor, and you can reuse the macro in other SAS sessions.

Submit
Please wait...
About This Quiz
SAS Quizzes & Trivia

This SAS Chapter 12 quiz focuses on storing macro programs. It tests knowledge on %INCLUDE statements, storing macros in SAS catalogs, using the Stored Compiled Macro Facility, and... see morecreating permanently stored compiled macros. Essential for learners aiming to master SAS macro programming. see less

2. If you use the Stored Compiled Macro Facility,

Explanation

The Stored Compiled Macro Facility enables you to store compiled macros permanently so that you can reuse them in later SAS sessions without compiling them again. Compiled macros must be stored in a catalog named Sasmacr, and both the MSTORED system option and the SASMSTORE system option must be specified.

Submit
3. The %INCLUDE statement

Explanation

The %INCLUDE statement can be used to insert the contents of an external file into a SAS program. If a macro definition is stored in an external file, the %INCLUDE statement causes the macro definition to be compiled when it is inserted into the SAS program. The contents of the macro definition will be written to the SAS log only if the SOURCE2 option is specified.

Submit
4. When you submit the following code, what happens?
%macro prtlast;
   proc print data=&syslast (obs=5);
      title "Listing of &syslast data set";
   run;
%mend;

Explanation

When you submit a macro definition, SAS creates a session-compiled macro and stores it in the temporary SAS catalog Work.Sasmacr. This macro will be deleted at the end of the SAS session.

Submit
5. What will the following PROC CATALOG step do?
proc catalog cat=mylib.sasmacr;
   contents;
quit;

Explanation

The PROC CATALOG step enables you to view a list of the contents of a SAS catalog. This might be especially useful if you store your macro definitions as SOURCE entries in permanent SAS catalogs. You might also use the PROC CATALOG step to see a list of the session-compiled macros that are stored in Work.Sasmacr.

Submit
6. If you store a macro definition in a SAS catalog SOURCE entry

Explanation

When a macro definition is stored as a catalog SOURCE entry, you must compile it before you can call it from a SAS program. You compile a macro that is stored as a catalog SOURCE entry by using the CATALOG access method. This creates a session-compiled macro that will be deleted at the end of the SAS session. The PROC CATALOG statement enables you to view a list of the contents of a SAS catalog.

Submit
7. Which of the following correctly creates a permanently stored compiled macro?

Explanation

In order to create a permanently stored compiled macro, you must specify the MSTORED system option. The SASMSTORE system option must be specified to point to the library in which you want your macros to be stored. You must also use the STORE option in the %MACRO statement.

Submit
8. Which of the following is not true about stored compiled macros?

Explanation

In order to use the Stored Compiled Macro Facility, you need to specify the MSTORED and SASMSTORE system options. The Stored Compiled Macro Facility saves the compiled macro in a permanent SAS catalog, but it does not save the macro definition. You cannot move a compiled macro across operating systems. Since you cannot re-create the macro definition from a compiled macro, it is a good idea to save your source program permanently as well.

Submit
9. Which of the following programs correctly sets the appropriate system options and calls the macro Prtlast? Assume that Prtlast is stored in an autocall library as a text file and that it has not been compiled during the current SAS session.

Explanation

To call a macro that is stored in an autocall library, you must specify both the MAUTOSOURCE system options and the SASAUTOS system option. The SASAUTOS system option can be set to include multiple pathnames or filerefs. Once these two system options are set, you can call the macro by preceding the macro name with a percent sign.

Submit
10. Which of the following is not true?

Explanation

The autocall macro facility stores macro definitions — not compiled macros — permanently. The first time an autocall macro is called during a SAS session, the macro is compiled and a session-compiled macro is created in Work.Sasmacr.You can have multiple autocall libraries that are concatenated, and you can use the autocall facility in conjunction with the Stored Compiled Macro Facility.

Submit
View My Results

Quiz Review Timeline (Updated): Mar 15, 2023 +

Our quizzes are rigorously reviewed, monitored and continuously updated by our expert board to maintain accuracy, relevance, and timeliness.

  • Current Version
  • Mar 15, 2023
    Quiz Edited by
    ProProfs Editorial Team
  • Mar 25, 2013
    Quiz Created by
    Moxleyv
Cancel
  • All
    All (10)
  • Unanswered
    Unanswered ()
  • Answered
    Answered ()
Why would you want to store your macros in external files?
If you use the Stored Compiled Macro Facility,
The %INCLUDE statement
When you submit the following code, what happens? ...
What will the following PROC CATALOG step do? ...
If you store a macro definition in a SAS catalog SOURCE entry
Which of the following correctly creates a permanently stored compiled...
Which of the following is not true about stored compiled macros?
Which of the following programs correctly sets the appropriate system...
Which of the following is not true?
Alert!

Advertisement