<?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: Changing values of a macro-variable (as a boundary) in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158318#M30911</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you RW9,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the problem is that your code seems to count the missing values for the 122 variables "VAR" for each observation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my case I need for each obs to count the missing values from VAR_1 to VAR_j where j is the value of variable SPAN.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 14 May 2014 09:44:22 GMT</pubDate>
    <dc:creator>GuiVtzl</dc:creator>
    <dc:date>2014-05-14T09:44:22Z</dc:date>
    <item>
      <title>Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158314#M30907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a little problem. I have this kind of data set with say, 1 000 000 observations :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VAR_1 VAR_2 VAR_3 [...] VAR_122&amp;nbsp; SPAN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SPAN variable gives me a number between 1 and 122 and what I'd like to do is &lt;STRONG&gt;count &lt;/STRONG&gt;for each &lt;STRONG&gt;observation &lt;/STRONG&gt;the number of missing values between VAR_1 and VAR_&amp;amp;SPAN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't really know how to perform that calculation since it's a "row calculation". Writing it wrong, it would look like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;N_MISS = count missing(VAR_1-VAR_&amp;amp;SPAN)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I have no idea about how to perform that calculation for each &lt;STRONG&gt;row, &lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; I only know how to do that in column (more simple ahah)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you help me please ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 07:32:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158314#M30907</guid>
      <dc:creator>GuiVtzl</dc:creator>
      <dc:date>2014-05-14T07:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158315#M30908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use array-s &lt;A href="http://support.sas.com/documentation/cdl/en/proc/66663/HTML/default/viewer.htm#n0gq165tylx8myn1vf4zu2r680zb.htm" title="http://support.sas.com/documentation/cdl/en/proc/66663/HTML/default/viewer.htm#n0gq165tylx8myn1vf4zu2r680zb.htm"&gt;Base SAS(R) 9.4 Procedures Guide, Second Edition&lt;/A&gt;. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 07:37:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158315#M30908</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2014-05-14T07:37:22Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158316#M30909</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Jaap for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not that familiar with arrays, but I tried looking at that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I guess I should start doing something like :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;array var &lt;LI&gt; var_1-var_122;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;array span &lt;LI&gt; SPAN;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;array n_miss &lt;LI&gt; n_miss;&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is that correct ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But then i don't see how i should do my loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I thought it would be :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do&amp;nbsp; i=1 to 122&lt;/P&gt;&lt;P&gt;n_miss = cmiss (of var[1]-var[SPAN];&lt;/P&gt;&lt;P&gt;leave;&lt;/P&gt;&lt;P&gt;end;&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;But again, I am not at ease yet with arrays.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you correct me please ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 09:17:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158316#M30909</guid>
      <dc:creator>GuiVtzl</dc:creator>
      <dc:date>2014-05-14T09:17:33Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158317#M30910</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think you would need something more like:&lt;/P&gt;&lt;P&gt;n_miss=0;&lt;/P&gt;&lt;P&gt;do I=1 to 122;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if var&lt;I&gt;=. then n_miss=n_miss+1;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 09:39:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158317#M30910</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-05-14T09:39:19Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158318#M30911</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you RW9,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the problem is that your code seems to count the missing values for the 122 variables "VAR" for each observation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my case I need for each obs to count the missing values from VAR_1 to VAR_j where j is the value of variable SPAN.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 09:44:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158318#M30911</guid>
      <dc:creator>GuiVtzl</dc:creator>
      <dc:date>2014-05-14T09:44:22Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158319#M30912</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe I misunderstand, but for the code above you would get:&lt;/P&gt;&lt;P&gt;datastep start.&lt;/P&gt;&lt;P&gt;arrive at observation1.&lt;/P&gt;&lt;P&gt;set n_miss to 0&lt;/P&gt;&lt;P&gt;start do loop with 1&lt;/P&gt;&lt;P&gt;if var[1] is missing the n_miss+1;&lt;/P&gt;&lt;P&gt;do loop with 2&lt;/P&gt;&lt;P&gt;if var[2] is missing then n_miss+1;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;end loop, n_miss contains, for the first observation, a count of all columns var1-var122 where the value is missing.&lt;/P&gt;&lt;P&gt;now move onto observation 2.&lt;/P&gt;&lt;P&gt;This seems to be what you are asking?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 09:51:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158319#M30912</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-05-14T09:51:22Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158320#M30913</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My fault Id did not include a good link for array-s, this one is better. &lt;A href="https://support.sas.com/documentation/cdl/en/lrcon/67227/HTML/default/viewer.htm#p19dovt76d4zv4n1h91lg4i12mmm.htm" title="https://support.sas.com/documentation/cdl/en/lrcon/67227/HTML/default/viewer.htm#p19dovt76d4zv4n1h91lg4i12mmm.htm"&gt;SAS(R) 9.4 Language Reference: Concepts, Second Edition&lt;/A&gt; fo concepts and as reference &lt;A href="http://support.sas.com/documentation/cdl/en/lestmtsref/67175/HTML/default/viewer.htm#p08do6szetrxe2n136ush727sbuo.htm" title="http://support.sas.com/documentation/cdl/en/lestmtsref/67175/HTML/default/viewer.htm#p08do6szetrxe2n136ush727sbuo.htm"&gt;SAS(R) 9.4 Statements: Reference, Second Edition&lt;/A&gt;&amp;nbsp; your array declaration should be something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;array aspan{*} var_1 - var_122 ;&amp;nbsp; /* the * is counting the 122 automatically */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After that you can refer to the element of an array using loop-processing.&lt;/P&gt;&lt;P&gt;This is offering full freedom like matrix processing. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to ..;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; span= &amp;lt;some processing&amp;nbsp; aspan{i} &amp;gt; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reviewing your question, There are a lot of functions that are working on a list of variables. My first link was one in that direction.&lt;BR /&gt;you are just wanting to count the number of missings? &lt;A href="http://support.sas.com/documentation/cdl/en/lefunctionsref/67239/HTML/default/viewer.htm#p0nw8trwk5ooesn1o8zrtd5c6j1t.htm" title="http://support.sas.com/documentation/cdl/en/lefunctionsref/67239/HTML/default/viewer.htm#p0nw8trwk5ooesn1o8zrtd5c6j1t.htm"&gt;SAS(R) 9.4 Functions and CALL Routines: Reference, Second Edition&lt;/A&gt; (NMISS)&lt;BR /&gt; span=nmiss(of var_1 - var_122) ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That is using the list processing of variables &lt;A href="https://support.sas.com/documentation/cdl/en/lrcon/67227/HTML/default/viewer.htm#p0wphcpsfgx6o7n1sjtqzizp1n39.htm" title="https://support.sas.com/documentation/cdl/en/lrcon/67227/HTML/default/viewer.htm#p0wphcpsfgx6o7n1sjtqzizp1n39.htm"&gt;SAS(R) 9.4 Language Reference: Concepts, Second Edition&lt;/A&gt;.&lt;BR /&gt;That a list of variables can be the argument is not a very common concept in programming languages.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 09:54:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158320#M30913</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2014-05-14T09:54:28Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158321#M30914</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you both !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am going to put a little example to show what I want to count (in bold the variables I already have, I want to create the variable N_MISS):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;VAR_1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR_2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR_3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR_5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPAN&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N_MISS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&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; 10&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 &lt;/STRONG&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; 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;2&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; 3&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;&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; 3&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&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;&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; 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;/STRONG&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; 2&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;I am sorry if I get it wrong but I have the impression that when writing things like nmiss(of var_1 - var_122) ; or&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; &lt;/P&gt;&lt;P&gt;n_miss=0;&lt;/P&gt;&lt;P&gt;do I=1 to 122;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if var&lt;I&gt;=. then n_miss=n_miss+1;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will get N_MISS values 2 3 3 instead of the 2 1 2 above&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem seems to me (again, I am probably wrong !) that my loop isn't fixed since for each observation (row) I don't use the same span to count. For my example above, 1st line I count on var1-var5, 2nd line I count on var1-var3 and 3rd line I count on var1-var4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for your help, those arrays are totally new to me (discovered them this morning ahah)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 10:06:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158321#M30914</guid>
      <dc:creator>GuiVtzl</dc:creator>
      <dc:date>2014-05-14T10:06:43Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158322#M30915</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, so you want to count the missing based on another variable span, that's fine just change to:&lt;/P&gt;&lt;P&gt;n_miss=0;&lt;/P&gt;&lt;P&gt;do I=1 to 122;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if var&lt;I&gt;=. and I &amp;lt;= span then n_miss=n_miss+1;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 10:12:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158322#M30915</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-05-14T10:12:55Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158323#M30916</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think this would be easier and more intuitive:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do I=1 to span;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if var&lt;I&gt;=. then n_miss=n_miss+1;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 10:44:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158323#M30916</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2014-05-14T10:44:28Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158324#M30917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I mixed all of your suggestions and it did exactly what I wanted !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot guys for your help ! Plus, it made me discover the arrays ! Great !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a nice day !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 14:49:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158324#M30917</guid>
      <dc:creator>GuiVtzl</dc:creator>
      <dc:date>2014-05-14T14:49:58Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158325#M30918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is it really necessary to do the iteration?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data work.want;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; set work.have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; length n_miss 8;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; array vars&lt;LI&gt; var_:;&lt;/LI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; n_miss = nmiss(of var_:) - (dim(vars) - span);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result of nmiss(of var_:) has to be reduced by the number of variables which are expected to missing.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 14:50:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158325#M30918</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2014-05-14T14:50:45Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158326#M30919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a macro which also provides the desired result.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro tocalc (nbvar);&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;mc = span-(%eval(&amp;amp;nbvar) - N(of var1-var&amp;amp;nbvar));&lt;/P&gt;&lt;P&gt;%put var&amp;amp;nbvar;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend tocalc;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%tocalc(5);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 16:54:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158326#M30919</guid>
      <dc:creator>And</dc:creator>
      <dc:date>2014-05-14T16:54:07Z</dc:date>
    </item>
    <item>
      <title>Re: Changing values of a macro-variable (as a boundary)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158327#M30920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If it is not guaranteed that variables beyond SPAN are always missing, this approach will give wrong results.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 May 2014 05:30:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-values-of-a-macro-variable-as-a-boundary/m-p/158327#M30920</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2014-05-15T05:30:02Z</dc:date>
    </item>
  </channel>
</rss>

