<?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 Re: Number of levels in character variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200105#M37401</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;%let data = sashelp.class;&lt;/P&gt;&lt;P&gt;%let data = sashelp.heart;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc freq data = &amp;amp;data&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (keep = _character_)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nlevels;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ods&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exclude onewayfreqs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ods&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nlevels = out_n_levels&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (keep&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; tablevar nlevels&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rename&amp;nbsp; = (tablevar = name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nlevels&amp;nbsp; = n_levels));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *to match&amp;nbsp; out_contents;&lt;/P&gt;&lt;P&gt;proc print;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 05 Jun 2015 00:44:52 GMT</pubDate>
    <dc:creator>Ron_MacroMaven</dc:creator>
    <dc:date>2015-06-05T00:44:52Z</dc:date>
    <item>
      <title>Number of levels in character variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200102#M37398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to create a macro that calculates number of levels (distinct categories) for all the character variables in a dataset. Currently, i am using PROC SQL to calculate distinct categories. I&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;f i have 100 variables, i have to run PROC SQL 100 times in a loop. Is there a better way to do it? Is "stackods" kind of option available in PROC SQL so that i can reshape my dataset easily?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Sample Code -&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table abc as&lt;/P&gt;&lt;P&gt;select count(distinct(sex)) as sex_levels&lt;/P&gt;&lt;P&gt;from sashelp.class;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample Output -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="128"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="64"&gt;Variable&lt;/TD&gt;&lt;TD width="64"&gt;N_Levels&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;Sex&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;Age&lt;/TD&gt;&lt;TD align="right"&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's just the sample code and output for 2 variables. I need to do it for all the character variables in a dataset.&lt;/P&gt;&lt;P&gt;Note : All my categorical variables are stored as character variables (string) in my dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in anticipation!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 20:33:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200102#M37398</guid>
      <dc:creator>Ujjawal</dc:creator>
      <dc:date>2015-06-04T20:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: Number of levels in character variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200103#M37399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PROC FREQ NLEVELS ....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 21:26:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200103#M37399</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-06-04T21:26:39Z</dc:date>
    </item>
    <item>
      <title>Re: Number of levels in character variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200104#M37400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am with Tom: proc.freq.nlevels provides the answer, ... for the variables in the data-set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have written several papers on extrapolating from n-levels.&lt;/P&gt;&lt;P&gt;the information you are seeking is in contents output data set which has a variable type -- in (1:n, 2:c)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you have to sort both out-nlevels and out-contents by name in order to merge them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this SASware ballot item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="275980" __jive_macro_name="message" class="jive_macro jive_macro_message" href="https://communities.sas.com/"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2015 22:15:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200104#M37400</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2015-06-04T22:15:18Z</dc:date>
    </item>
    <item>
      <title>Re: Number of levels in character variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200105#M37401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;%let data = sashelp.class;&lt;/P&gt;&lt;P&gt;%let data = sashelp.heart;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc freq data = &amp;amp;data&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (keep = _character_)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nlevels;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ods&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exclude onewayfreqs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ods&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nlevels = out_n_levels&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (keep&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; tablevar nlevels&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rename&amp;nbsp; = (tablevar = name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nlevels&amp;nbsp; = n_levels));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *to match&amp;nbsp; out_contents;&lt;/P&gt;&lt;P&gt;proc print;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Jun 2015 00:44:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/200105#M37401</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2015-06-05T00:44:52Z</dc:date>
    </item>
    <item>
      <title>Re: Number of levels in character variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/435267#M108119</link>
      <description>&lt;P&gt;How would you tackle a data set with more than 70k levels for at least one variable? (proc freq always yields OoM error.)&lt;/P&gt;</description>
      <pubDate>Thu, 08 Feb 2018 14:27:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Number-of-levels-in-character-variables/m-p/435267#M108119</guid>
      <dc:creator>devrant</dc:creator>
      <dc:date>2018-02-08T14:27:46Z</dc:date>
    </item>
  </channel>
</rss>

