<?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: Assign values for a two-dimensional array in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342439#M22670</link>
    <description>&lt;P&gt;Data step 'arrays' don't function like they would in IML, ie no tranpsose or inverting them via functions, only via looping manually.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I really think your logic is simple if you took the time to state it out. I'm not going to try and decipher it though.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When referencing a two dimensional array, you need two indexes. I think this corrects the issue.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;temprg{row, col}=new{col};&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 20 Mar 2017 02:17:53 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2017-03-20T02:17:53Z</dc:date>
    <item>
      <title>Assign values for a two-dimensional array</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342426#M22665</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* dataset */
_NAME_ new1 new2 new3 new4
Time_0   1   2    3    4
Time_1   5   6    7    8
Time_2   9   10   11   12
Time_3   13  14   15   16&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I have a dataset, and need to use a two-dimensional array - temprg{i,j} for some data manipulation.&lt;/P&gt;&lt;P&gt;how to assign value to this array?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Most online SAS tutorials use Datalines, but since I have much more rows and columns, I'm looking for another way to assign the initial values. e.g. temprg{2,3} would be 7. temprg{4,2} would be 14.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Mar 2017 00:26:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342426#M22665</guid>
      <dc:creator>ayin</dc:creator>
      <dc:date>2017-03-20T00:26:58Z</dc:date>
    </item>
    <item>
      <title>Re: Assign values for a two-dimensional array</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342427#M22666</link>
      <description>&lt;P&gt;Since you don't post your data in the form of a sas data set, I presume you want to make an array out of 4 observations.&amp;nbsp; Then what do you want to do?&amp;nbsp; Do you want to generate a collection of&amp;nbsp;results for every 4 incoming rows?&amp;nbsp; if so, you can start with this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data _null_;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; array temprg {0:3,4};&lt;/P&gt;
&lt;P&gt;&amp;nbsp; array new {4};&lt;/P&gt;
&lt;P&gt;&amp;nbsp; do row=0 to 3;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do col=1 to 4; temprg{row,col}=new{col};&amp;nbsp; /*&lt;STRIKE&gt;temprg{row}=new{col};&lt;/STRIKE&gt;*/ &amp;nbsp;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ** Now use the array to generate results **;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BTW, I've indexed the rows as 0 to 3, not 1 to 4.&amp;nbsp; Since you have _NAME_=0,1,2,3.&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;</description>
      <pubDate>Mon, 20 Mar 2017 12:51:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342427#M22666</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-03-20T12:51:53Z</dc:date>
    </item>
    <item>
      <title>Re: Assign values for a two-dimensional array</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342430#M22667</link>
      <description>&lt;P&gt;If you matrix functionality I suggest using SAS IML instead of Base.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Mar 2017 01:43:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342430#M22667</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-03-20T01:43:15Z</dc:date>
    </item>
    <item>
      <title>Re: Assign values for a two-dimensional array</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342433#M22668</link>
      <description>Thanks mkeintz for replying. Used your codes but it reports an error: Too few array subscripts specified for array temprg. (under the line 'temprg{row} = new{col})'. Not sure what caused the problem?</description>
      <pubDate>Mon, 20 Mar 2017 01:51:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342433#M22668</guid>
      <dc:creator>ayin</dc:creator>
      <dc:date>2017-03-20T01:51:38Z</dc:date>
    </item>
    <item>
      <title>Re: Assign values for a two-dimensional array</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342439#M22670</link>
      <description>&lt;P&gt;Data step 'arrays' don't function like they would in IML, ie no tranpsose or inverting them via functions, only via looping manually.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I really think your logic is simple if you took the time to state it out. I'm not going to try and decipher it though.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When referencing a two dimensional array, you need two indexes. I think this corrects the issue.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;temprg{row, col}=new{col};&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 20 Mar 2017 02:17:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342439#M22670</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-03-20T02:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: Assign values for a two-dimensional array</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342473#M22673</link>
      <description>&lt;PRE&gt;
What are you trying to do ?

Reeza is absolutely right. Use IML code if you want some matrix operator.

&lt;/PRE&gt;</description>
      <pubDate>Mon, 20 Mar 2017 06:03:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Assign-values-for-a-two-dimensional-array/m-p/342473#M22673</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-03-20T06:03:40Z</dc:date>
    </item>
  </channel>
</rss>

