<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Create a table with library content with no details in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862201#M42456</link>
    <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I was requested to write a procedure that validates that the WORK library contains the requested tables with the right nomenclature, example given below:&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;File’s name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Name of the table in SAS&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_1.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_2.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_3.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_4.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've created a project, then imported the 4 tables and then used the procedure below:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;datasets&lt;/STRONG&gt; library=work memtype=data;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;was not able to reproduce what it was requested, but only the below:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;Directory Libref Engine Physical Name FilenameOwner NameFile SizeFile Size (bytes) &lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;WORK&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;V9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C:\Users\augus\xxxx\Prc2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C:\Users\augus\xxxx\Prc2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DESKTOP-xxx\augus&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4KB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4096&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;# Name Member Type File Size Last Modified1234 &lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ex_1&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;2MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ex_2&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;2MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ex_3&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;2MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ex_4&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;35MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:55&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I've used the below in an attempt to remove the details from Directory, but keeping the library name:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt; &lt;STRONG&gt;CONTENTS&lt;/STRONG&gt; NOPRINT DATA=work._ALL_&lt;/P&gt;&lt;P&gt;OUT=WORK DETAILS DIRECTORY MEMTYPE=DATA;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;sort&lt;/STRONG&gt; out=work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dupout=memname&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodupkey;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by memname;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But I got a table with a lot of details and no file name.&amp;nbsp;The table headers and (content) were:&amp;nbsp;&lt;/P&gt;&lt;P&gt;Libname (Work), Memname (tables_names), Memlabel (empty),&lt;/P&gt;&lt;P&gt;Typemem, Name (a variation of tables_names), Type (1,2), Length (8...11), Varnum (2...22),&lt;/P&gt;&lt;P&gt;Label (empty), Format (Best, $CHAR), Formatl (2,5,11), Formatd (0), Informat (Best, $CHAR), Informl&amp;nbsp;(2,5,11), Informd (0), Just (0), NPOS (16...217), NOBS (2694...133665), Engine (V9), Crdate and the list go on with no relevant info.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Only the libname and memname columns gave what I needed, is it possible to remove the rest of the columns and insert one with the original names of the files?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for the help!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 03 Mar 2023 19:11:45 GMT</pubDate>
    <dc:creator>LucasW</dc:creator>
    <dc:date>2023-03-03T19:11:45Z</dc:date>
    <item>
      <title>Create a table with library content with no details</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862201#M42456</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I was requested to write a procedure that validates that the WORK library contains the requested tables with the right nomenclature, example given below:&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;File’s name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Name of the table in SAS&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_1.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_2.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_3.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ex_4.csv&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ex_4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've created a project, then imported the 4 tables and then used the procedure below:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;datasets&lt;/STRONG&gt; library=work memtype=data;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;was not able to reproduce what it was requested, but only the below:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;Directory Libref Engine Physical Name FilenameOwner NameFile SizeFile Size (bytes) &lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;WORK&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;V9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C:\Users\augus\xxxx\Prc2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C:\Users\augus\xxxx\Prc2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DESKTOP-xxx\augus&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4KB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4096&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;# Name Member Type File Size Last Modified1234 &lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ex_1&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;2MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ex_2&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;2MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ex_3&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;2MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ex_4&lt;/TD&gt;&lt;TD&gt;DATA&lt;/TD&gt;&lt;TD&gt;35MB&lt;/TD&gt;&lt;TD&gt;2023-03-03 13:45:55&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I've used the below in an attempt to remove the details from Directory, but keeping the library name:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt; &lt;STRONG&gt;CONTENTS&lt;/STRONG&gt; NOPRINT DATA=work._ALL_&lt;/P&gt;&lt;P&gt;OUT=WORK DETAILS DIRECTORY MEMTYPE=DATA;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;sort&lt;/STRONG&gt; out=work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dupout=memname&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodupkey;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by memname;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But I got a table with a lot of details and no file name.&amp;nbsp;The table headers and (content) were:&amp;nbsp;&lt;/P&gt;&lt;P&gt;Libname (Work), Memname (tables_names), Memlabel (empty),&lt;/P&gt;&lt;P&gt;Typemem, Name (a variation of tables_names), Type (1,2), Length (8...11), Varnum (2...22),&lt;/P&gt;&lt;P&gt;Label (empty), Format (Best, $CHAR), Formatl (2,5,11), Formatd (0), Informat (Best, $CHAR), Informl&amp;nbsp;(2,5,11), Informd (0), Just (0), NPOS (16...217), NOBS (2694...133665), Engine (V9), Crdate and the list go on with no relevant info.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Only the libname and memname columns gave what I needed, is it possible to remove the rest of the columns and insert one with the original names of the files?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for the help!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Mar 2023 19:11:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862201#M42456</guid>
      <dc:creator>LucasW</dc:creator>
      <dc:date>2023-03-03T19:11:45Z</dc:date>
    </item>
    <item>
      <title>Re: Create a table with library content with no details</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862226#M42463</link>
      <description>Maybe instead of proc datasets, you can query either dictionary.table or dictionary.column which contain the information you're looking to obtain.</description>
      <pubDate>Fri, 03 Mar 2023 22:01:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862226#M42463</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2023-03-03T22:01:49Z</dc:date>
    </item>
    <item>
      <title>Re: Create a table with library content with no details</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862243#M42467</link>
      <description>&lt;P&gt;If you expect SAS to automagically know which of your CSV files were read to create a specific SAS data set then you are going to be disappointed. SAS can report on the file path and name of the SAS data set but post operation procedures like DATASETS have no way of knowing what external file was read.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This will get the names of all data sets in the work library and the library name.&lt;/P&gt;
&lt;PRE&gt;Proc sql;
   create table sets as
   select libname, memname
   from dictionary.tables
   where libname='WORK' and memtype='DATA'
   ;
quit;&lt;/PRE&gt;
&lt;P&gt;If you have a list of Files that were supposed to be read that list could be turned into a data set and you can attempt to match the values with the data sets. BUT that is making a lot of assumptions. Note that the Memname and Libname will be stored by SAS in uppercase in the special dictionary files that maintain metadata about your data.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Mar 2023 23:47:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862243#M42467</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2023-03-03T23:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: Create a table with library content with no details</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862244#M42468</link>
      <description>&lt;P&gt;You are asking for the KEEP= dataset option.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc contents noprint data=work._all_ out=contents ;
run;

proc sort data=contents(keep=libname memname) out=members nodupkey;
  by memname;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 04 Mar 2023 00:08:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862244#M42468</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2023-03-04T00:08:08Z</dc:date>
    </item>
    <item>
      <title>Re: Create a table with library content with no details</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862745#M42480</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt;&amp;nbsp;!&lt;/P&gt;</description>
      <pubDate>Tue, 07 Mar 2023 18:13:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Create-a-table-with-library-content-with-no-details/m-p/862745#M42480</guid>
      <dc:creator>LucasW</dc:creator>
      <dc:date>2023-03-07T18:13:52Z</dc:date>
    </item>
  </channel>
</rss>

