/** @file mp_dictionary.sas @brief Creates a portal (libref) into the SQL Dictionary Views @details Provide a libref and the macro will create a series of views against each view in the special PROC SQL dictionary libref. This is useful if you would like to visualise (navigate) the views in a SAS client such as Base SAS, Enterprise Guide, or Studio (or [Data Controller]( https://datacontroller.io)). It works by extracting the dictionary.dictionaries view into YOURLIB.dictionaries, then uses that to create a YOURLIB.{viewName} for every other dictionary.view, eg: proc sql; create view YOURLIB.columns as select * from dictionary.columns; Usage: libname demo "/lib/directory"; %mp_dictionary(lib=demo) Or, to just create them in WORK: %mp_dictionary() If you'd just like to browse the dictionary data model, you can also check out [this article](https://rawsas.com/dictionary-of-dictionaries/). ![](https://user-images.githubusercontent.com/4420615/188278365-2987db97-0594-4a39-ac81-dbacdef5cdc8.png) @param [in] lib= (WORK) The libref in which to create the views

Related Files

@li mp_dictionary.test.sas @version 9.2 @author Allan Bowe **/ %macro mp_dictionary(lib=WORK)/*/STORE SOURCE*/; %local list i mem; proc sql noprint; create view &lib..dictionaries as select * from dictionary.dictionaries; select distinct memname into: list separated by ' ' from &lib..dictionaries; %do i=1 %to %sysfunc(countw(&list,%str( ))); %let mem=%scan(&list,&i,%str( )); create view &lib..&mem as select * from dictionary.&mem; %end; quit; %mend mp_dictionary;