<?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: DATASTEP summary in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111124#M23021</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the sample of desired output above, you have a column for valid_values. Does your data have more than one non-unique value for "valid_values" for a given crossing?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, are there values other than "FULL, SUB, VOI/VOA, NODOC, QUICK" for the row "documentation_invalid"? (I realize that your sample data only has one unique value for each proposed crossing, but actual data may not).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 14 Aug 2013 19:16:12 GMT</pubDate>
    <dc:creator>Fugue</dc:creator>
    <dc:date>2013-08-14T19:16:12Z</dc:date>
    <item>
      <title>DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111120#M23017</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I need your help. &lt;/P&gt;&lt;P&gt;I have a SAS dataset that looks like this &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;documentation_invalid, documentation_vv,occupancy_invalid,occupancy_vv,property_invalid,property_vv,purpose_invalid,purpose_vv&lt;/P&gt;&lt;P&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",1,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;P&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",1,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;P&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;P&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;P&gt;1,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",1,"PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;P&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to summarize the dataset like this what do I need to do?&lt;/P&gt;&lt;P&gt;documentation_invalid, documentation_vv,occupancy_invalid,occupancy_vv,property_invalid,property_vv,purpose_invalid,purpose_vv&lt;/P&gt;&lt;P&gt;1,"FULL, SUB, VOI/VOA, NODOC, QUICK",1,"OWNER, 2NDHOME, INVESTOR",1,"SF, MF, TOWNHOUSE, CONDO",1,"PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 16:59:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111120#M23017</guid>
      <dc:creator>zqkal</dc:creator>
      <dc:date>2013-08-14T16:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111121#M23018</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What do you want your summary to look like?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 17:08:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111121#M23018</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-08-14T17:08:49Z</dc:date>
    </item>
    <item>
      <title>Re: DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111122#M23019</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select max(documentation_invalid), documentation_vv, max(occupancy_invalid), occupancy_vv, max(property_invalid), property_vv, max(purpose_invalid), purpose_vv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from have&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by documentation_vv, occupancy_vv, property_vv, purpose_vv;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you could use sum instead of max if you would want to count the number of time a row was "invalid" for your group instead of just figuring out if it ever was. It depends on what the data represents and what you ought to do.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vince&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 17:12:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111122#M23019</guid>
      <dc:creator>Vince28_Statcan</dc:creator>
      <dc:date>2013-08-14T17:12:08Z</dc:date>
    </item>
    <item>
      <title>Re: DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111123#M23020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Reeza,&lt;/P&gt;&lt;P&gt;Here is how I want the summary to look like &lt;/P&gt;&lt;P&gt;Varialble&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;&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; total_count&amp;nbsp;&amp;nbsp;&amp;nbsp; valid_count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalid_count&amp;nbsp;&amp;nbsp;&amp;nbsp; valid_values &lt;/P&gt;&lt;P&gt;documentation_invalid&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; 6&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; "FULL, SUB, VOI/VOA, NODOC, QUICK"&lt;/P&gt;&lt;P&gt;occupancy_invalid&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;&amp;nbsp; 6&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; "OWNER, 2NDHOME, INVESTOR"&lt;/P&gt;&lt;P&gt;property_invalid&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; SF, MF, TOWNHOUSE, CONDO"&lt;/P&gt;&lt;P&gt;purpose_invalid&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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; "PURCHASE, CASHOUT, RATE/TERM"&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 17:50:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111123#M23020</guid>
      <dc:creator>zqkal</dc:creator>
      <dc:date>2013-08-14T17:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111124#M23021</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the sample of desired output above, you have a column for valid_values. Does your data have more than one non-unique value for "valid_values" for a given crossing?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, are there values other than "FULL, SUB, VOI/VOA, NODOC, QUICK" for the row "documentation_invalid"? (I realize that your sample data only has one unique value for each proposed crossing, but actual data may not).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 19:16:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111124#M23021</guid>
      <dc:creator>Fugue</dc:creator>
      <dc:date>2013-08-14T19:16:12Z</dc:date>
    </item>
    <item>
      <title>Re: DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111125#M23022</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This works, assuming only one possible valid_value for each crossing of Variable (as per your desired output).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have ;&lt;BR /&gt;infile datalines dlm=',' dsd;&lt;BR /&gt;informat documentation_vv occupancy_vv property_vv purpose_vv $50.;&lt;BR /&gt;input documentation_invalid documentation_vv $ occupancy_invalid occupancy_vv $ property_invalid property_vv $ purpose_invalid purpose_vv $ ;&lt;BR /&gt;datalines ;&lt;BR /&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",1,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;BR /&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",1,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;BR /&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;BR /&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;BR /&gt;1,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",1,"PURCHASE, CASHOUT, RATE/TERM"&lt;BR /&gt;0,"FULL, SUB, VOI/VOA, NODOC, QUICK",0,"OWNER, 2NDHOME, INVESTOR",0,"SF, MF, TOWNHOUSE, CONDO",0,"PURCHASE, CASHOUT, RATE/TERM"&lt;BR /&gt;;&lt;BR /&gt;;;;;&lt;/P&gt;&lt;P&gt;/* transpose numeric variables */&lt;BR /&gt;proc transpose data=have out=counts name=Variable;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* cleanup */&lt;/P&gt;&lt;P&gt;data counts&amp;nbsp; ;&lt;BR /&gt;set counts ;&lt;BR /&gt;drop col1-col6;&lt;BR /&gt;tot_count = n ( of col1-col6 );&lt;BR /&gt;valid_count = sum ( of col1-col6 ) ;&lt;BR /&gt;invalid_count = tot_count - valid_count ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* transpose character vars */&lt;BR /&gt;proc transpose data=have out=valid_values name=Variable;&lt;BR /&gt;var documentation_vv occupancy_vv property_vv purpose_vv ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* cleanup */&lt;/P&gt;&lt;P&gt;data valid_values ;&lt;BR /&gt;set valid_values ;&lt;BR /&gt;drop col2-col6;&lt;BR /&gt;rename col1=valid_values;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* merge */&lt;BR /&gt;proc sql ;&lt;BR /&gt;create table want as&lt;BR /&gt;select t1.*, t2.valid_values&lt;BR /&gt;from counts t1&lt;BR /&gt;&amp;nbsp; , valid_values t2&lt;BR /&gt;where substr ( t1.variable , 1, 8 ) = substr ( t2.variable , 1, 8 )&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Michael McCormick&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 20:23:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111125#M23022</guid>
      <dc:creator>Fugue</dc:creator>
      <dc:date>2013-08-14T20:23:08Z</dc:date>
    </item>
    <item>
      <title>Re: DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111126#M23023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another solution:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ODS OUTPUT ONEWAYFREQS=WORK.OWF (DROP = F_: RENAME = (FREQUENCY = COUNT));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;PROC FREQ DATA=HAVE;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; BY DOCUMENTATION_VV OCCUPANCY_VV PROPERTY_VV PURPOSE_VV;&lt;/P&gt;&lt;P&gt;&amp;nbsp; TABLES DOCUMENTATION_INVALID OCCUPANCY_INVALID PROPERTY_INVALID PURPOSE_INVALID /NOCUM NOPERCENT ;&lt;/P&gt;&lt;P&gt;RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;ODS OUTPUT CLOSE;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;DATA TRANSFORM (KEEP = VAL_INVAL VARIABLE VALID_VALUES DOCUMENTATION_VV COUNT);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LENGTH&amp;nbsp; VAL_INVAL $7. VARIABLE $21.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; VAL_INVAL = "VALID";&lt;/P&gt;&lt;P&gt;&amp;nbsp; SET OWF;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp; BY TABLE;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp; IF DOCUMENTATION_INVALID = 1 THEN VAL_INVAL = "INVALID";&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ELSE IF OCCUPANCY_INVALID = 1 THEN VAL_INVAL = "INVALID";&lt;/P&gt;&lt;P&gt;&amp;nbsp; ELSE IF PROPERTY_INVALID = 1 THEN VAL_INVAL = "INVALID";&lt;/P&gt;&lt;P&gt;&amp;nbsp; ELSE IF PURPOSE_INVALID = 1 THEN VAL_INVAL = "INVALID";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; VARIABLE = SCAN(TABLE,-1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp; IF VARIABLE = "DOCUMENTATION_INVALID" THEN VALID_VALUES = DOCUMENTATION_VV;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ELSE IF VARIABLE = "OCCUPANCY_INVALID" THEN VALID_VALUES = OCCUPANCY_VV;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ELSE IF VARIABLE = "PROPERTY_INVALID" THEN VALID_VALUES = PROPERTY_VV;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ELSE IF VARIABLE = "PURPOSE_INVALID" THEN VALID_VALUES = PURPOSE_VV;&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;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp; IF FIRST.TABLE THEN TOTAL = COUNT;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE TOTAL+COUNT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; IF LAST.TABLE&amp;nbsp; THEN DO;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; COUNT = TOTAL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAL_INVAL = "TOTAL";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUTPUT;&lt;/P&gt;&lt;P&gt;&amp;nbsp; END;&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;PROC TRANSPOSE DATA = TRANSFORM OUT=TRANS (DROP = DOCUMENTATION_VV _:) SUFFIX=_COUNT;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ID VAL_INVAL ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; BY VARIABLE VALID_VALUES DOCUMENTATION_VV NOTSORTED;&lt;/P&gt;&lt;P&gt;&amp;nbsp; VAR COUNT;&lt;/P&gt;&lt;P&gt;RUN;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Aug 2013 09:58:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111126#M23023</guid>
      <dc:creator>Scott_Mitchell</dc:creator>
      <dc:date>2013-08-15T09:58:37Z</dc:date>
    </item>
    <item>
      <title>Re: DATASTEP summary</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111127#M23024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks everyone.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Aug 2013 21:34:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DATASTEP-summary/m-p/111127#M23024</guid>
      <dc:creator>zqkal</dc:creator>
      <dc:date>2013-08-19T21:34:03Z</dc:date>
    </item>
  </channel>
</rss>

