<?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: Array declaration problems when using both dimensions and var names in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814422#M321445</link>
    <description>&lt;P&gt;You don't seem to understand what _CHARACTER_ means in that context.&amp;nbsp; It is a variable list.&amp;nbsp; All of the character variables (at least the ones that the data step compiler knows about when it is compiling that statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to define an array of 11 character variables each of which is of length 900 using a statement like:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array charvar[11] $900;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Which is the same as:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array charvar $900 charvar1-charvar11;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;length charvar1-charvar11 $900;
array charvar[11] ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can specify both a dimension and a list of variables. In that case the dimensions must match the number of variables listed.&amp;nbsp; If you use a variable list specification like _CHARACTER_ or _NUMERIC_ or _ALL_ or even firstvar--lastvar without knowing how many variables that will evaluate to then you are better off letting SAS count the number of variables for you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array chars _character_;
array nums _numeric_;
array middle address1 -- zipcode10 ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;PS There is no need to waste time typing (*) or [*] when you want SAS to count the dimension for you.&amp;nbsp; SAS does not need it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 20 May 2022 12:48:17 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2022-05-20T12:48:17Z</dc:date>
    <item>
      <title>Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814383#M321437</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First time poster - I always find results from this forum useful when troubleshooting SAS issues, so though it was worth recording this issue that I encountered.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using SAS 9.4. Most of the time, when declaring an array in a DATA step with named variables, I'll use the asterisk, to tell SAS to work out how long to make the array, e.g.:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;ARRAY parsed_vars(*) arr_var1-arr_var10 _character_;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;However, sometimes you want to have named variables, and also an explicit range: this is particularly useful when you want your array indices to start at an unusual place, because it's easier to understand.&lt;BR /&gt;So I tried:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;ARRAY parsed_vars(0:10) arr_var0-arr_var10 _character_;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;but it wouldn't work, with an unusual error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;ERROR: Too many variables defined for the dimension(s) specified for the array parsed_vars.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If I tried e.g. changing the upper-bound 10 to a higher number, &lt;FONT face="courier new,courier"&gt;(0:20)&lt;/FONT&gt; say, I might get:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;ERROR: Too few variables defined for the dimension(s) specified for the array parsed_vars.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;But it wouldn't accept any specific range: even a conventional &lt;FONT face="courier new,courier"&gt;arr(1:10) var1-var10&amp;nbsp;&lt;/FONT&gt;would yield a variation on the same error, 'too many' or 'too few', for any upper and lower index I chose.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What was the trick? Declare it slightly differently:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;ARRAY parsed_vars(0:10) $50 arr_var0-arr_var10;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The &lt;FONT face="courier new,courier"&gt;_character_&lt;/FONT&gt; suffix normally looks for &lt;EM&gt;existing&lt;/EM&gt; variables to use as part of your array, but when the range is unspecified like &lt;FONT face="courier new,courier"&gt;(*)&lt;/FONT&gt;,&amp;nbsp;it doesn't complain: for me it automatically allocated 900-wide character variables, i.e. it interpreted it as an &lt;EM&gt;implicit&lt;/EM&gt; declaration of new variables. For whatever reason, once I introduce an &lt;EM&gt;explicit range,&amp;nbsp;&lt;/EM&gt;it stops using this implicit declaration behaviour: I have to specify my field width&amp;nbsp;for it to work (in this case, &lt;FONT face="courier new,courier"&gt;$50&lt;/FONT&gt; for a 50-wide character, for example).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It's worth mentioning - the explicit range can be really useful for code readability: in my case, the data it's holding corresponds with field N of some standard, and so it's useful for the var name and array index to use the same N as the corresponding documentation. So &lt;FONT face="courier new,courier"&gt;parsed_vars(0) = arr_var0&lt;/FONT&gt;, and the contents of &lt;FONT face="courier new,courier"&gt;arr_var0&lt;/FONT&gt; corresponds with the 0th field in the spec, etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There were some other lessons learned - when I tried to make a 'minimal reproducible example' for myself by making a small DATA step without any other complications, omitting an e.g.&amp;nbsp;&lt;FONT face="courier new,courier"&gt;SET WORK.dataset1;&lt;/FONT&gt;&amp;nbsp;statement made things "look OK" - SAS didn't have to try to instantiate the array when there were no rows of data and so didn't encounter the problem, i.e. it doesn't "statically check" this declaration (unlike other kinds of syntax errors), it only sees it's a problem when it tries to run it.&lt;/P&gt;</description>
      <pubDate>Fri, 20 May 2022 02:02:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814383#M321437</guid>
      <dc:creator>al_king</dc:creator>
      <dc:date>2022-05-20T02:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814394#M321438</link>
      <description>&lt;P&gt;The term&amp;nbsp; &lt;EM&gt;&lt;STRONG&gt;_character_&lt;/STRONG&gt;&lt;/EM&gt;&amp;nbsp;is interpreted by the SAS compiler as the list of all known character variables at that point in the program.&amp;nbsp; If there are no known variables prior to the point you use&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ARRAY parsed_vars(*) arr_var1-arr_var10 _character_;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;you will have declared a 10-element &lt;EM&gt;&lt;STRONG&gt;NUMERIC&lt;/STRONG&gt;&lt;/EM&gt; array, because numeric is the default variable type for the array statement.&amp;nbsp; In this case there would be no error message, but you would not have succeeded in generating an array (of any size) of character variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And had you used&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ARRAY parsed_vars(0:10) arr_var0-arr_var10 _character_;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;with no prior character variables, you would have generated an 11-element numeric array - again with no error message.&amp;nbsp; As you have discovered, if there was an error message for this statement, it means that a character variable had been referred to in some preceding code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Those know variables would either be provided via a preceding SET (or MERGE) statement, by explicit declaration (e.g. the LENGTH statement) or assignment statements ( i.e.&amp;nbsp; name='John').&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are also the analogous terms _numeric_&amp;nbsp; and&amp;nbsp; _all_.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 20 May 2022 04:10:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814394#M321438</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-05-20T04:10:01Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814397#M321439</link>
      <description>&lt;P&gt;To define the array as character, use the $ sign.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array parsed_vars(*) $ arr_var1-arr_var10;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Set a length immediately after the $ sign if you want something other than 8.&lt;/P&gt;</description>
      <pubDate>Fri, 20 May 2022 04:43:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814397#M321439</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-05-20T04:43:29Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814422#M321445</link>
      <description>&lt;P&gt;You don't seem to understand what _CHARACTER_ means in that context.&amp;nbsp; It is a variable list.&amp;nbsp; All of the character variables (at least the ones that the data step compiler knows about when it is compiling that statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to define an array of 11 character variables each of which is of length 900 using a statement like:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array charvar[11] $900;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Which is the same as:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array charvar $900 charvar1-charvar11;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;length charvar1-charvar11 $900;
array charvar[11] ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can specify both a dimension and a list of variables. In that case the dimensions must match the number of variables listed.&amp;nbsp; If you use a variable list specification like _CHARACTER_ or _NUMERIC_ or _ALL_ or even firstvar--lastvar without knowing how many variables that will evaluate to then you are better off letting SAS count the number of variables for you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array chars _character_;
array nums _numeric_;
array middle address1 -- zipcode10 ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;PS There is no need to waste time typing (*) or [*] when you want SAS to count the dimension for you.&amp;nbsp; SAS does not need it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 20 May 2022 12:48:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814422#M321445</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-05-20T12:48:17Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814525#M321489</link>
      <description>Yep OK, that makes sense. I was working with someone's code that used a trailing _character_ to effectively make the newly declared variables that type, which I can see in a sense worked "by coincidence" - SAS was correctly inferring the type for my newly-declared variables because the trailing _character_ list happened to be non-empty.</description>
      <pubDate>Sat, 21 May 2022 04:59:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814525#M321489</guid>
      <dc:creator>al_king</dc:creator>
      <dc:date>2022-05-21T04:59:17Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814528#M321492</link>
      <description>&lt;P&gt;In my case, I wanted my 11 variables to be indexed from zero, which I think is only possible with the &lt;FONT face="courier new,courier"&gt;(0:10)&lt;/FONT&gt; style dimensions, but otherwise that's quite clear. (Since inference had been working fine, I probably wouldn't have recognised the misunderstanding here until I needed to get specific with dimensions!)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That does seem to be the culprit: the previous developers had used _character_ as a tacit array type declaration (with no intention of accessing anything beyond the newly-declared variables in the array). The &lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lestmtsref/p08do6szetrxe2n136ush727sbuo.htm" target="_self"&gt;array documentation&lt;/A&gt; was just slightly too vague to disabuse me of that notion -&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;These SAS variable lists enable you to reference variables...&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;sounded like it was a flag to &lt;EM&gt;permit&lt;/EM&gt; references to all predefined variables, rather than something actually &lt;EM&gt;constituting&lt;/EM&gt; the reference.&amp;nbsp;The "type declaration"-type usage happened to work, by coincidence, because once a&amp;nbsp;&lt;EM&gt;known&lt;/EM&gt; variable appeared in the back end of the list, SAS knew to enforce a consistent type across the array. As mkeintz has observed, if there were no predefined character variables the _character_ list would have been empty, and so my new variables would have ended up as NUMERIC.&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2022 05:30:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814528#M321492</guid>
      <dc:creator>al_king</dc:creator>
      <dc:date>2022-05-21T05:30:47Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814533#M321497</link>
      <description>&lt;P&gt;It's not really&amp;nbsp;&lt;EM&gt;that&lt;/EM&gt; vague:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4 class="xisDoc-argument"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;array-elements&lt;/EM&gt;&lt;/H4&gt;
&lt;DIV class="xisDoc-argumentDescription"&gt;
&lt;P class="xisDoc-paraSimpleFirst"&gt;specifies the names of the elements that make up the array.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;Array-elements&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;must be either all numeric or all character, and they can be listed in any order. The elements can be named variables or temporary data elements.&lt;/P&gt;
&lt;DIV id="n0esxiidls4o65n1gcvu1bv2x44p" class="xisDoc-argDescriptionPair"&gt;
&lt;H4 class="xisDoc-argument"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;variables&lt;/EM&gt;&lt;/H4&gt;
&lt;DIV class="xisDoc-argumentDescription"&gt;
&lt;P class="xisDoc-paraSimpleFirst"&gt;lists variable names.&lt;/P&gt;
&lt;SECTION class="xisDoc-tableWrap"&gt;
&lt;TABLE class="xisDoc-summary"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="xisDoc-summaryRange"&gt;Range&lt;/TH&gt;
&lt;TD class="xisDoc-summaryText"&gt;The names must be either variables that you define in the ARRAY statement or variables that SAS creates by concatenating the array name and a number. For example, when the subscript is a number (not the asterisk), you do not need to name each variable in the array. Instead, SAS creates variable names by concatenating the array name and the numbers 1, 2, 3, …&lt;EM class="xisDoc-userSuppliedValue"&gt;n&lt;/EM&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="xisDoc-restriction"&gt;Restriction&lt;/TH&gt;
&lt;TD class="xisDoc-summaryText"&gt;If you use _ALL_, all the previously defined variables must be of the same type.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="xisDoc-summaryTip" rowspan="5"&gt;Tips&lt;/TH&gt;
&lt;TD class="xisDoc-summaryText"&gt;These SAS variable lists enable you to reference variables that have been previously defined in the same DATA step:&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="xisDoc-summaryText"&gt;_NUMERIC_ specifies all numeric variables.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="xisDoc-summaryText"&gt;_CHARACTER_ specifies all character variables.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="xisDoc-summaryText"&gt;_ALL_ specifies all variables.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/SECTION&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The function of the _CHARACTER_ keyword is clearly explained here.&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2022 06:52:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814533#M321497</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-05-21T06:52:13Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814534#M321498</link>
      <description>&lt;P&gt;Haha, I'll give you that it's understandable when you already know what it's trying to say, but I can tell you I was referring directly to this very documentation and it didn't clarify, so it was sufficiently vague.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To me, "specifying all character variables" doesn't invariably read as "this token is equivalent to all character variable names" - it just means that you're specifying something, and the thing being specified is all character variables. Specify in what sense? OK, so let's refer to the description of the category: they "&lt;SPAN&gt;enable you to reference variables that have been previously defined".&amp;nbsp; My interpretation at the time was, &lt;FONT face="courier new,courier"&gt;_character_&lt;/FONT&gt; is a flag that permits your array to refer to preexisting variables ('enabling' as in a literal functional toggle, rather than a language construct that makes it possible i.e. &lt;EM&gt;constitutes&lt;/EM&gt; the reference&lt;/SPAN&gt;&lt;SPAN&gt;) -&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;specifically, all character ones. Right? I can see now the intended interpretation but the phrasing is not very concrete.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;(I'm not really trying to rail too hard against the documentation here, but just making clear what I mean by vague. Anyway, I've certainly come to the right place for this kind of clarification, functional examples etc.)&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2022 07:16:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814534#M321498</guid>
      <dc:creator>al_king</dc:creator>
      <dc:date>2022-05-21T07:16:15Z</dc:date>
    </item>
    <item>
      <title>Re: Array declaration problems when using both dimensions and var names</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814537#M321499</link>
      <description>&lt;P&gt;I think it is important to know what "predefined" means in the context of compiling the data step code. Here, it does not mean "defined previously in the ARRAY statement", but "defined previously before the statement was encountered".&lt;/P&gt;
&lt;P&gt;It needs familiarity with how the data step compiler builds the PDV to not be misled by this particular sentence. This familiarity grows out of experience, but there is also Maxim 41. Most experience arises from mistakes.&lt;/P&gt;</description>
      <pubDate>Sat, 21 May 2022 08:47:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-declaration-problems-when-using-both-dimensions-and-var/m-p/814537#M321499</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-05-21T08:47:18Z</dc:date>
    </item>
  </channel>
</rss>

