<?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: cross table with multiple choice in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111312#M30844</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Keith&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Awesome &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; I had a notion of transposing would be the right thing to do - but I had no idea of how to do it. You obviously had &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Only, I had to put in a proc sort statement, so I ended up doing:.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile cards missover;&lt;/P&gt;&lt;P&gt;input id var1 $ var2i $ var2ii $ var2iii $ var2iv $;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11 a a c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;12 b&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;13 b b c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;14 a a b c d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;15 a c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;16 b c d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;17 b b d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;18 b&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;19 a a c d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;20 a d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=have; by id; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have_trans;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;array trans_var{*} var2: ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do i=1 to dim(trans_var);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if missing(trans_var{i}) then leave;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; new_var=trans_var{i};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;drop var2: i;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a 10^6&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sincerely&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anders&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Oct 2012 09:45:54 GMT</pubDate>
    <dc:creator>loedrup_ab</dc:creator>
    <dc:date>2012-10-30T09:45:54Z</dc:date>
    <item>
      <title>cross table with multiple choice</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111310#M30842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear anyone&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once again I turn to this site for help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have data=want with the variables var1 and var2. Var1 is single choice, either a og b. Var2 is multiple choice, a-d. My data is organized as shown in table 1. &lt;/P&gt;&lt;P&gt;I want to cross-table var1 with var2, as shown in table 2. I have tried proc freq with var1*(var2i-var2iv), but that just gave me four different tables.&lt;/P&gt;&lt;P&gt;I could make a 0/1 variable for each possible answer (a-d), but I have many variables to analyze and it would take a lot of time and typing.&lt;/P&gt;&lt;P&gt;Any suggestions on how to get around this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sincerely&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anders &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 448px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="64"&gt;&lt;/TD&gt;&lt;TD width="64"&gt;Table 1&lt;/TD&gt;&lt;TD width="64"&gt;&lt;/TD&gt;&lt;TD width="64"&gt;&lt;/TD&gt;&lt;TD width="64"&gt;&lt;/TD&gt;&lt;TD width="64"&gt;&lt;/TD&gt;&lt;TD width="64"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;ID&lt;/TD&gt;&lt;TD class="xl63"&gt;Var1&lt;/TD&gt;&lt;TD class="xl63"&gt;Var2i&lt;/TD&gt;&lt;TD class="xl63"&gt;Var2ii&lt;/TD&gt;&lt;TD class="xl63"&gt;Var2iii&lt;/TD&gt;&lt;TD class="xl63"&gt;Var2iv&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;11&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;c&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;12&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;13&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;c&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;14&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;c&lt;/TD&gt;&lt;TD class="xl63"&gt;d&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;15&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;c&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;16&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;c&lt;/TD&gt;&lt;TD class="xl63"&gt;d&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;17&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;d&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;18&lt;/TD&gt;&lt;TD class="xl63"&gt;b&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;19&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;c&lt;/TD&gt;&lt;TD class="xl63"&gt;d&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;20&lt;/TD&gt;&lt;TD class="xl63"&gt;a&lt;/TD&gt;&lt;TD class="xl63"&gt;d&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;Table 2&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl64" colspan="5" style="text-align: center;"&gt;&lt;STRONG&gt;Var2&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl64"&gt;&lt;STRONG&gt;a&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl64"&gt;&lt;STRONG&gt;b&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl64"&gt;&lt;STRONG&gt;c&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl64"&gt;&lt;STRONG&gt;d&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl64"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl64" height="40" rowspan="2"&gt;V&lt;STRONG&gt;ar 1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl64"&gt;&lt;STRONG&gt;a&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;3&lt;/TD&gt;&lt;TD class="xl63"&gt;1&lt;/TD&gt;&lt;TD class="xl63"&gt;4&lt;/TD&gt;&lt;TD class="xl63"&gt;3&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl64" height="20"&gt;&lt;STRONG&gt;b&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;0&lt;/TD&gt;&lt;TD class="xl63"&gt;2&lt;/TD&gt;&lt;TD class="xl63"&gt;2&lt;/TD&gt;&lt;TD class="xl63"&gt;2&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl63" height="20"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;TD class="xl63"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 08:30:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111310#M30842</guid>
      <dc:creator>loedrup_ab</dc:creator>
      <dc:date>2012-10-30T08:30:53Z</dc:date>
    </item>
    <item>
      <title>Re: cross table with multiple choice</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111311#M30843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think the easiest way is to transpose your data so that the values of var2i-var2iv are all in 1 column.&amp;nbsp; Doing the crosstab after that is then simple.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile cards missover;&lt;/P&gt;&lt;P&gt;input id var1 $ var2i $ var2ii $ var2iii $ var2iv $;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;11 a a c&lt;/P&gt;&lt;P&gt;12 b&lt;/P&gt;&lt;P&gt;13 b b c&lt;/P&gt;&lt;P&gt;14 a a b c d&lt;/P&gt;&lt;P&gt;15 a c&lt;/P&gt;&lt;P&gt;16 b c d&lt;/P&gt;&lt;P&gt;17 b b d&lt;/P&gt;&lt;P&gt;18 b&lt;/P&gt;&lt;P&gt;19 a a c d&lt;/P&gt;&lt;P&gt;20 a d&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have_trans;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;array trans_var{*} var2: ;&lt;/P&gt;&lt;P&gt;do i=1 to dim(trans_var);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if missing(trans_var{i}) then leave;&lt;/P&gt;&lt;P&gt;&amp;nbsp; new_var=trans_var{i};&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop var2: i;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc freq data=have_trans;&lt;/P&gt;&lt;P&gt;table var1*new_var / nopercent norow nocol;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 09:20:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111311#M30843</guid>
      <dc:creator>Keith</dc:creator>
      <dc:date>2012-10-30T09:20:56Z</dc:date>
    </item>
    <item>
      <title>Re: cross table with multiple choice</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111312#M30844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Keith&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Awesome &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; I had a notion of transposing would be the right thing to do - but I had no idea of how to do it. You obviously had &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Only, I had to put in a proc sort statement, so I ended up doing:.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile cards missover;&lt;/P&gt;&lt;P&gt;input id var1 $ var2i $ var2ii $ var2iii $ var2iv $;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11 a a c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;12 b&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;13 b b c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;14 a a b c d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;15 a c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;16 b c d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;17 b b d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;18 b&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;19 a a c d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;20 a d&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=have; by id; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have_trans;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;array trans_var{*} var2: ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do i=1 to dim(trans_var);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if missing(trans_var{i}) then leave;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; new_var=trans_var{i};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;drop var2: i;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a 10^6&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sincerely&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anders&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 09:45:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111312#M30844</guid>
      <dc:creator>loedrup_ab</dc:creator>
      <dc:date>2012-10-30T09:45:54Z</dc:date>
    </item>
    <item>
      <title>Re: cross table with multiple choice</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111313#M30845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Glad to be of help. I actually made a small modification to my original code, the 'by ID' line in the data step is not strictly necessary so I took it out.&amp;nbsp; Then you wouldn't then to pre-sort the dataset.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2012 09:52:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111313#M30845</guid>
      <dc:creator>Keith</dc:creator>
      <dc:date>2012-10-30T09:52:40Z</dc:date>
    </item>
    <item>
      <title>Re: cross table with multiple choice</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111314#M30846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Or you could try a SQL way which don't need to transpose dataset.&lt;/P&gt;&lt;P&gt;If there were many variables, you can use a macro variable to wrap them all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data have;
infile cards missover;
input id var1 $ var2i $ var2ii $ var2iii $ var2iv $;
cards;
11 a a c
12 b
13 b b c
14 a a b c d
15 a c
16 b c d
17 b b d
18 b
19 a a c d
20 a d
;
run;
proc sql;
create table want as
 select var1,sum(var2i='a')+sum(var2ii='a')+sum(var2iii='a')+sum(var2iv='a') as a,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(var2i='b')+sum(var2ii='b')+sum(var2iii='b')+sum(var2iv='b') as b,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(var2i='c')+sum(var2ii='c')+sum(var2iii='c')+sum(var2iv='c') as c,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(var2i='d')+sum(var2ii='d')+sum(var2iii='d')+sum(var2iv='d') as d
&amp;nbsp;&amp;nbsp; from have 
&amp;nbsp;&amp;nbsp;&amp;nbsp; group by var1;
quit;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Oct 2012 04:54:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/cross-table-with-multiple-choice/m-p/111314#M30846</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-10-31T04:54:25Z</dc:date>
    </item>
  </channel>
</rss>

