<?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: counting objects divided by dashes and ; in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/counting-objects-divided-by-dashes-and/m-p/40577#M10506</link>
    <description>Much depends on what your ultimate goal is.  I personally don't like to think too hard.  I see that that DATAFIELD looks like a SAS Variable List that can be used in a array statement.  If I let SAS create an ARRAY with the list I can use DIM to determine the number of elements.&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
431  data _null_;&lt;BR /&gt;
432     dataField='DO1;DO3;DO4-DO10;DO15;DO17;';&lt;BR /&gt;
433     call symputX('dataField',translate(datafield,' ',';'));&lt;BR /&gt;
434     run;&lt;BR /&gt;
&lt;BR /&gt;
 &lt;BR /&gt;
&lt;BR /&gt;
435  %put NOTE: DATAFIELD=&amp;amp;datafield;&lt;BR /&gt;
NOTE: DATAFIELD=DO1 DO3 DO4-DO10 DO15 DO17&lt;BR /&gt;
436  data _null_;&lt;BR /&gt;
437     array d&lt;LI&gt; &amp;amp;datafield;&lt;BR /&gt;
438     call symputX('dim',dim(d));&lt;BR /&gt;
439     run;&lt;BR /&gt;
  &lt;BR /&gt;
440  %put NOTE: DIM=&amp;amp;dim;&lt;BR /&gt;
NOTE: DIM=11&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
This concept can be extended to any "Variable List" using PROC TRANSPOSE.&lt;/LI&gt;</description>
    <pubDate>Wed, 30 Mar 2011 11:52:35 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2011-03-30T11:52:35Z</dc:date>
    <item>
      <title>counting objects divided by dashes and ;</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/counting-objects-divided-by-dashes-and/m-p/40576#M10505</link>
      <description>Hello&lt;BR /&gt;
&lt;BR /&gt;
I have data like DO1;DO3;DO4-DO10;DO15;DO17;&lt;BR /&gt;
So in total my number would be 11 (1,3,4,5,6,7,8,9,10,15,17)&lt;BR /&gt;
&lt;BR /&gt;
Currently i have this:&lt;BR /&gt;
&lt;BR /&gt;
Number = countc(DataField,';') + 1; &lt;BR /&gt;
&lt;BR /&gt;
but I need the objects between DO4 and D010 as well.. any help?</description>
      <pubDate>Wed, 30 Mar 2011 10:50:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/counting-objects-divided-by-dashes-and/m-p/40576#M10505</guid>
      <dc:creator>Filipvdr</dc:creator>
      <dc:date>2011-03-30T10:50:29Z</dc:date>
    </item>
    <item>
      <title>Re: counting objects divided by dashes and ;</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/counting-objects-divided-by-dashes-and/m-p/40577#M10506</link>
      <description>Much depends on what your ultimate goal is.  I personally don't like to think too hard.  I see that that DATAFIELD looks like a SAS Variable List that can be used in a array statement.  If I let SAS create an ARRAY with the list I can use DIM to determine the number of elements.&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
431  data _null_;&lt;BR /&gt;
432     dataField='DO1;DO3;DO4-DO10;DO15;DO17;';&lt;BR /&gt;
433     call symputX('dataField',translate(datafield,' ',';'));&lt;BR /&gt;
434     run;&lt;BR /&gt;
&lt;BR /&gt;
 &lt;BR /&gt;
&lt;BR /&gt;
435  %put NOTE: DATAFIELD=&amp;amp;datafield;&lt;BR /&gt;
NOTE: DATAFIELD=DO1 DO3 DO4-DO10 DO15 DO17&lt;BR /&gt;
436  data _null_;&lt;BR /&gt;
437     array d&lt;LI&gt; &amp;amp;datafield;&lt;BR /&gt;
438     call symputX('dim',dim(d));&lt;BR /&gt;
439     run;&lt;BR /&gt;
  &lt;BR /&gt;
440  %put NOTE: DIM=&amp;amp;dim;&lt;BR /&gt;
NOTE: DIM=11&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
This concept can be extended to any "Variable List" using PROC TRANSPOSE.&lt;/LI&gt;</description>
      <pubDate>Wed, 30 Mar 2011 11:52:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/counting-objects-divided-by-dashes-and/m-p/40577#M10506</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2011-03-30T11:52:35Z</dc:date>
    </item>
  </channel>
</rss>

