<?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: Compact Descriptive Stats in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864246#M341324</link>
    <description>&lt;P&gt;Nice!&lt;/P&gt;</description>
    <pubDate>Wed, 15 Mar 2023 11:40:36 GMT</pubDate>
    <dc:creator>SASJedi</dc:creator>
    <dc:date>2023-03-15T11:40:36Z</dc:date>
    <item>
      <title>Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864110#M341276</link>
      <description>&lt;P&gt;I have a series of fields each with a different set of value options. So A1-A9, B1-B9, etc. Where the answer options for A1-A9 are F, O, J, S, for B1-B9 they are AS, BU, PA, IS, etc. I need to display frequencies for each field along with the total N. Using a proc freq like this generates many pages of results.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;proc freq;&lt;BR /&gt;tables A1-A9;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;I would like something more compact.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Test data, current output and ideal output in the attachments.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Mar 2023 17:28:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864110#M341276</guid>
      <dc:creator>DavidKaib</dc:creator>
      <dc:date>2023-03-14T17:28:44Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864134#M341284</link>
      <description>&lt;P&gt;Well, someone may have a more succinct approach, but this should work:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Get frequency data into a table */
ods output OneWayFreqs=FREQS(drop=freq: cum:);
proc freq data=have(drop=record);
	tables _all_;
run;
ods output close;

/* Get a list of variable names to coalesce */
proc sql;
select Name into :list separated by ','
	from dictionary.columns
	where libname='WORK' and memname='FREQS'
		and name not contains '_'
		and name not in ('Table','Percent')
;
quit;

/* Prep the data for transposition */
proc sql;
create table freqs2 as
select scan(table,-1) length=2 as Column
		,coalescec(&amp;amp;list) as Value
		,Percent
	from freqs
	order by 1,2
;
quit;

/* Transpose the data to get the desired output */
proc transpose data=freqs2 out=want(drop=_:) let;
	by column;
	ID value;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And this is the result:&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="left"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Column&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;F&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;J&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;O&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;S&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;AS&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;BR&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;IS&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;PA&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;A1&lt;/TD&gt;
&lt;TD class="r data"&gt;33.33&lt;/TD&gt;
&lt;TD class="r data"&gt;33.33&lt;/TD&gt;
&lt;TD class="r data"&gt;11.11&lt;/TD&gt;
&lt;TD class="r data"&gt;22.22&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;A2&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;A3&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;A4&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;A5&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;6&lt;/TH&gt;
&lt;TD class="l data"&gt;A6&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;7&lt;/TH&gt;
&lt;TD class="l data"&gt;A7&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;8&lt;/TH&gt;
&lt;TD class="l data"&gt;A8&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;50.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;9&lt;/TH&gt;
&lt;TD class="l data"&gt;A9&lt;/TD&gt;
&lt;TD class="r data"&gt;50.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;10&lt;/TH&gt;
&lt;TD class="l data"&gt;B1&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;11&lt;/TH&gt;
&lt;TD class="l data"&gt;B2&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;12&lt;/TH&gt;
&lt;TD class="l data"&gt;B3&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;13&lt;/TH&gt;
&lt;TD class="l data"&gt;B4&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;14&lt;/TH&gt;
&lt;TD class="l data"&gt;B5&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;15&lt;/TH&gt;
&lt;TD class="l data"&gt;B6&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;50.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;16&lt;/TH&gt;
&lt;TD class="l data"&gt;B7&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;17&lt;/TH&gt;
&lt;TD class="l data"&gt;B8&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;18&lt;/TH&gt;
&lt;TD class="l data"&gt;B9&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;30.00&lt;/TD&gt;
&lt;TD class="r data"&gt;40.00&lt;/TD&gt;
&lt;TD class="r data"&gt;20.00&lt;/TD&gt;
&lt;TD class="r data"&gt;10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope that gets you started, anyway.&lt;/P&gt;
&lt;P&gt;Mark&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 14 Mar 2023 18:31:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864134#M341284</guid>
      <dc:creator>SASJedi</dc:creator>
      <dc:date>2023-03-14T18:31:05Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864154#M341288</link>
      <description>&lt;P&gt;Could be done with &lt;STRONG&gt;proc tabulate&lt;/STRONG&gt; :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Record (A1 A2 A3 A4 A5 A6 A7 A8 A9 B1 B2 B3 B4 B5 B6 B7 B8 B9) (:$2.);
datalines;
1 F F O J J F S S O IS PA BR PA BR PA BR AS IS
2 S O J F O J J S S AS BR PA BR IS IS IS IS AS
3 F S O F S S S O F BR BR BR IS AS PA BR BR BR
4 O J J O F F J J F AS BR IS BR IS BR IS IS IS
5 J F F J F F S S J PA PA IS BR AS AS AS PA BR
6 J O J F J O J S O IS PA AS IS PA PA BR AS BR
7 . F F F S S O J F AS BR BR IS AS IS AS BR AS
8 S O S O J J F S O BR IS AS PA AS PA PA AS BR
9 J J F S F S S O F AS IS PA AS PA AS AS PA AS
10 F F O J S F J J F PA PA BR IS BR PA BR BR PA
;

proc transpose data=have out=temp;
by record;
var _character_;
run;

data temp2 / view=temp2;
set temp;
val = not missing(col1);
test = substr(_name_, 1, 1);
run;

proc tabulate data=temp2;
var val;
class test _name_ col1;
table test, _name_="Question", n col1="Answer"*rowpctn=""*format=best5.;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PGStats_0-1678824958460.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/81540iBE562A02A6536CD4/image-size/large?v=v2&amp;amp;px=999" role="button" title="PGStats_0-1678824958460.png" alt="PGStats_0-1678824958460.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Mar 2023 20:17:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864154#M341288</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2023-03-14T20:17:28Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864166#M341290</link>
      <description>&lt;P&gt;This proc tabulate is perfect. One follow up questions - would there be a way to do this if the fields did not begin with the same letter--where I would need to list out the fields?&lt;/P&gt;</description>
      <pubDate>Tue, 14 Mar 2023 21:19:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864166#M341290</guid>
      <dc:creator>DavidKaib</dc:creator>
      <dc:date>2023-03-14T21:19:20Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864171#M341291</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/320110"&gt;@DavidKaib&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;This proc tabulate is perfect. One follow up questions - would there be a way to do this if the fields did not begin with the same letter--where I would need to list out the fields?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Are you asking about the Proc Transpose step? _character_ is a list, short hand for all character variables. If you only want some specific variables you would list them on the Var statement. There are other list shortcuts available: A:&amp;nbsp; would get all variables with names starting with A, A1-A9 would use A1, A2, A3 ... A9. You can mix lists such as : Var A: B1-B9 ; to get all A variables and just B1 through B9.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Mar 2023 21:52:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864171#M341291</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2023-03-14T21:52:20Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864246#M341324</link>
      <description>&lt;P&gt;Nice!&lt;/P&gt;</description>
      <pubDate>Wed, 15 Mar 2023 11:40:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864246#M341324</guid>
      <dc:creator>SASJedi</dc:creator>
      <dc:date>2023-03-15T11:40:36Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864366#M341360</link>
      <description>&lt;P&gt;Perfect. This is really great.&lt;BR /&gt;&lt;BR /&gt;When I tried this with some variables that are not just A, B, etc., it worked but the order came out odd - so for example Test Other was first, Test Acad was second (in the original data the variables the begin with Acad are first.) Is there a way to reorder those? I could also rename those variables as A1-A9, B2-, etc,, but if there is a way to set the order in the code that would be helpful.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Mar 2023 16:34:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864366#M341360</guid>
      <dc:creator>DavidKaib</dc:creator>
      <dc:date>2023-03-15T16:34:26Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864386#M341365</link>
      <description>&lt;P&gt;As long as the same name doesn't occur in more than one test, you could replace&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;test = substr(_name_, 1, 1);&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;with&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;select (_name_);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;when ("A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9") test = "First";&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;when ("B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9") test = "Second";&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;end;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Mar 2023 17:41:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864386#M341365</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2023-03-15T17:41:32Z</dc:date>
    </item>
    <item>
      <title>Re: Compact Descriptive Stats</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864389#M341366</link>
      <description>&lt;P&gt;The ORDER= option in the CLASS statement of the TABULATE proc gives you some control on the ordering of the table lines and columns:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Record (Z9 Z8 Z7 Z6 Z5 Z4 Z3 Z2 Z1 B1 B2 B3 B4 B5 B6 B7 B8 B9) (:$2.);
datalines;
1 F F O J J F S S O IS PA BR PA BR PA BR AS IS
2 S O J F O J J S S AS BR PA BR IS IS IS IS AS
3 F S O F S S S O F BR BR BR IS AS PA BR BR BR
4 O J J O F F J J F AS BR IS BR IS BR IS IS IS
5 J F F J F F S S J PA PA IS BR AS AS AS PA BR
6 J O J F J O J S O IS PA AS IS PA PA BR AS BR
7 . F F F S S O J F AS BR BR IS AS IS AS BR AS
8 S O S O J J F S O BR IS AS PA AS PA PA AS BR
9 J J F S F S S O F AS IS PA AS PA AS AS PA AS
10 F F O J S F J J F PA PA BR IS BR PA BR BR PA
;

proc transpose data=have out=temp;
by record;
var _character_;
run;

data temp2 / view=temp2;
set temp;
val = not missing(col1);
length test $10;
select (_name_);
    when ("Z1", "Z2", "Z3", "Z4", "Z5", "Z6", "Z7", "Z8", "Z9") test = "The First";
    when ("B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9") test = "Second";
end;
run;

proc tabulate data=temp2;
var val;
class test _name_ / order=data;
class col1 / order=formatted;
table test="Test:", _name_="Question", n col1="Answer"*rowpctn=""*format=best5.;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PGStats_0-1678903325175.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/81601i7443AA63C89AA397/image-size/large?v=v2&amp;amp;px=999" role="button" title="PGStats_0-1678903325175.png" alt="PGStats_0-1678903325175.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Mar 2023 18:02:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Compact-Descriptive-Stats/m-p/864389#M341366</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2023-03-15T18:02:32Z</dc:date>
    </item>
  </channel>
</rss>

