<?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 array function in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804883#M316991</link>
    <description>&lt;P&gt;Dear Madam/Sir,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For each IO industry, I want to multiply numbers in each row for each IO industry with "comp" variable except its own industry (data attached).&lt;/P&gt;&lt;P&gt;For instance, for IO 111CA (farms), comp&amp;nbsp;0.638957866 x 0.0688737( IO 113FF) + comp 0.761841026 x 0.091003( IO 211) + comp&amp;nbsp;0.914848186 x&amp;nbsp;0.0096249 (IO 212) + comp&amp;nbsp;0.825890645 x&amp;nbsp;&amp;nbsp;0.000328 (IO 213) + comp&amp;nbsp;1.0078 x&amp;nbsp;0.026865 (IO 22)&amp;nbsp; (except IO 111CA, farm). And then repeat the same process for every other industry.&lt;/P&gt;&lt;P&gt;I do not find useful commands. Any help will be highly appreciated to perform this calculation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much.&lt;/P&gt;&lt;P&gt;Joon1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data format&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;IO&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Industry_Description&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;cyear&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Farms&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Forestry__fishing__and_related_a&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oil_and_gas_extraction&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mining__except_oil_and_gas&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Support_activities_for_mining&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Utilities&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;comp&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;111CA&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Farms&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.18142&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0590518&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0007557&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0026902&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0012788&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0006635&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.727964454&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;113FF&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Forestry, fishing, and related activities&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0688737&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.23167&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0003183&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0024397&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0006637&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0003304&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.638957866&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;211&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oil and gas extraction&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0091003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.006632&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.08566&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0158068&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0070102&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0970558&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.761841026&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;212&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mining, except oil and gas&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0096249&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.002073&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0028516&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.07108&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0024438&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.03242&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.914848186&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;213&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Support activities for mining&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.000328&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0001729&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0237757&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0141272&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.0078&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.002556&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.825890645&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;22&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Utilities&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.026865&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0099835&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0194369&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0413922&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0051409&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.04719&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.961662704&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Tue, 29 Mar 2022 20:10:07 GMT</pubDate>
    <dc:creator>joon1</dc:creator>
    <dc:date>2022-03-29T20:10:07Z</dc:date>
    <item>
      <title>array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804883#M316991</link>
      <description>&lt;P&gt;Dear Madam/Sir,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For each IO industry, I want to multiply numbers in each row for each IO industry with "comp" variable except its own industry (data attached).&lt;/P&gt;&lt;P&gt;For instance, for IO 111CA (farms), comp&amp;nbsp;0.638957866 x 0.0688737( IO 113FF) + comp 0.761841026 x 0.091003( IO 211) + comp&amp;nbsp;0.914848186 x&amp;nbsp;0.0096249 (IO 212) + comp&amp;nbsp;0.825890645 x&amp;nbsp;&amp;nbsp;0.000328 (IO 213) + comp&amp;nbsp;1.0078 x&amp;nbsp;0.026865 (IO 22)&amp;nbsp; (except IO 111CA, farm). And then repeat the same process for every other industry.&lt;/P&gt;&lt;P&gt;I do not find useful commands. Any help will be highly appreciated to perform this calculation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much.&lt;/P&gt;&lt;P&gt;Joon1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data format&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;IO&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Industry_Description&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;cyear&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Farms&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Forestry__fishing__and_related_a&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oil_and_gas_extraction&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mining__except_oil_and_gas&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Support_activities_for_mining&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Utilities&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;comp&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;111CA&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Farms&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.18142&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0590518&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0007557&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0026902&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0012788&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0006635&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.727964454&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;113FF&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Forestry, fishing, and related activities&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0688737&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.23167&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0003183&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0024397&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0006637&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0003304&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.638957866&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;211&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oil and gas extraction&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0091003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.006632&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.08566&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0158068&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0070102&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0970558&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.761841026&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;212&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mining, except oil and gas&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0096249&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.002073&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0028516&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.07108&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0024438&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.03242&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.914848186&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;213&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Support activities for mining&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.000328&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0001729&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0237757&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0141272&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.0078&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.002556&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.825890645&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;22&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Utilities&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1997&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.026865&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0099835&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0194369&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0413922&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.0051409&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.04719&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.961662704&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 29 Mar 2022 20:10:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804883#M316991</guid>
      <dc:creator>joon1</dc:creator>
      <dc:date>2022-03-29T20:10:07Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804884#M316992</link>
      <description>&lt;P&gt;Can you just assume that the observations (rows) and variables (columns) are in the same order?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have ;
  row+1; 
  array vars farms -- Utilities;
  do col=1 to dim(vars);
      if col ne row then vars[col]=comp*vars[col];
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 Mar 2022 20:17:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804884#M316992</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-03-29T20:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804925#M317016</link>
      <description>&lt;P&gt;Thank you so much, Tom.&lt;/P&gt;&lt;P&gt;Due to variable name problem related to import, I changed variable name to ind1-ind66 (row and column have the same industry name as attached). And I want to create weight variable to get column "comp" x column industry value except its own industry and revised your code like below. However, I did not get weight variable and only get "row" and "column" variable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want; set have;&lt;BR /&gt;row+1;&lt;BR /&gt;array vars $ ind1-ind66;&lt;BR /&gt;array weight $ ind1-ind66;&lt;BR /&gt;do col=1 to dim(vars);&lt;BR /&gt;if col ne row then&lt;BR /&gt;weight[col]=comp*vars[col];&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help will be highly appreciated.&lt;/P&gt;&lt;P&gt;Joon1&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2022 01:08:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804925#M317016</guid>
      <dc:creator>joon1</dc:creator>
      <dc:date>2022-03-30T01:08:10Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804934#M317024</link>
      <description>&lt;P&gt;Why are you defining CHARACTER arrays?&amp;nbsp; If you are going to MULTIPLY the values then the variables must be numeric.&amp;nbsp; Remove the $ from the array statements.&lt;/P&gt;
&lt;P&gt;Why are you defining two different arrays that point to the same list of variables?&amp;nbsp; If you only want one set of variables then just define one array to point to them.&amp;nbsp; If you want to make new variables then use new names for the variables in that the other array is pointing to.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2022 03:18:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/804934#M317024</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-03-30T03:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805084#M317092</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Thanks for your kind help, Tom. I got changed values by multiplication using your code below.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data want; set have;&lt;BR /&gt;row+1;&lt;BR /&gt;array vars ind1-ind66;&lt;BR /&gt;do col=1 to dim(vars);&lt;BR /&gt;if col ne row then&lt;BR /&gt;vars[col]=comp*vars[col];&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But how can I obtain sum of changed values? I tried to make another array using sum, but it did not work out.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For instance, for IO 111CA (farms), sum= comp&amp;nbsp;0.638957866 x 0.0688737( IO 113FF) + comp 0.761841026 x 0.091003( IO 211) + comp&amp;nbsp;0.914848186 x&amp;nbsp;0.0096249 (IO 212) + comp&amp;nbsp;0.825890645 x&amp;nbsp;&amp;nbsp;0.000328 (IO 213) + comp&amp;nbsp;1.0078 x&amp;nbsp;0.026865 (IO 22)&amp;nbsp; (except IO 111CA, farm). And then repeat the same process for every other industry.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your help will be truly appreciated.&lt;/P&gt;&lt;P&gt;Joon1&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2022 15:00:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805084#M317092</guid>
      <dc:creator>joon1</dc:creator>
      <dc:date>2022-03-30T15:00:30Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805109#M317101</link>
      <description>&lt;P&gt;Initialize some new variable.&amp;nbsp; Then for each variable in the array add the value that variable should contribute to the new variable.&amp;nbsp; When you have done this for all of the variables in the array then the new variable should have the total.&amp;nbsp; If you want treat missing values as zero then use the SUM(,) function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See if you can incorporate this idea into your code.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;new_var=0;
do col=1 to dim(vars);
   new_var=sum(new_var,comp*vars[col]);
end;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 30 Mar 2022 16:44:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805109#M317101</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-03-30T16:44:37Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805157#M317129</link>
      <description>&lt;P&gt;Thank you for your kind advice, Tom. I tried following code that is operating, but I did not get the correct summation numbers by year.&lt;/P&gt;&lt;P&gt;It seems that it is difficult to get column sum by year except its own industry in a separate variable. Is there any other way to do this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want; set have;&lt;BR /&gt;row+1;&lt;BR /&gt;array vars ind1-ind65;&lt;BR /&gt;do col=1 to dim(vars);&lt;BR /&gt;if col ne row then&lt;BR /&gt;vars[col]=comp*vars[col];&lt;BR /&gt;new_var=0;&lt;BR /&gt;new_vars=sum (new_vars,comp*vars[col]); by cyear;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Another way I can think of is transpose data and get row sums. But I face an issue.&lt;/P&gt;&lt;P&gt;(1) I coded ind1-ind65, but after SAS operations, industry character variables are sorted in the order of ind1 ind10-ind19 ind2 ind20-29---- ind7 ind8 ind9.&lt;/P&gt;&lt;P&gt;After transposing the data, I need to get row sums after excluding its own industry, so I need to sort industry variables in the order of ind1 ind2 ---- ind10 ind11----ind65 before transposing the data. Could you please help me to this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I greatly appreciate your help, Tom.&lt;/P&gt;&lt;P&gt;Joon1&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>Wed, 30 Mar 2022 21:58:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805157#M317129</guid>
      <dc:creator>joon1</dc:creator>
      <dc:date>2022-03-30T21:58:27Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805173#M317137</link>
      <description>&lt;P&gt;Isn't the data symmetrical?&amp;nbsp; So the sum across row 5 should be the same number as the sum down column 5.&lt;/P&gt;
&lt;P&gt;To get the sum of a variable use PROC MEANS.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 31 Mar 2022 00:16:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805173#M317137</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-03-31T00:16:59Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805175#M317139</link>
      <description>&lt;P&gt;The order that you have the statements in a data step makes a difference.&lt;/P&gt;
&lt;P&gt;Do you see the difference between:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;x=0;
do ....;
  x=....
end;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;do ....;
  x=0;
  x=...;
end;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 31 Mar 2022 00:19:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805175#M317139</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-03-31T00:19:31Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805191#M317150</link>
      <description>&lt;P&gt;Dear Tom,&lt;/P&gt;&lt;P&gt;The data is not symmetrical. I check your two approaches in the order of data step and the output is the same (not what I want to get).&lt;/P&gt;&lt;P&gt;(1) Is it possible to get column sums in SAS?&lt;/P&gt;&lt;P&gt;(2) in the transposing option, how I can make the order of industry variable to ind1, ind2, ind3 through ind65?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much,&lt;/P&gt;&lt;P&gt;Joon1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 31 Mar 2022 02:50:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805191#M317150</guid>
      <dc:creator>joon1</dc:creator>
      <dc:date>2022-03-31T02:50:49Z</dc:date>
    </item>
    <item>
      <title>Re: array function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805633#M317364</link>
      <description>&lt;P&gt;I greatly appreciate for your help and time, Tom. I used your basic array statements you suggested and resolved my issues with alteration of raw data in another way.&lt;/P&gt;&lt;P&gt;Joon1&lt;/P&gt;</description>
      <pubDate>Sat, 02 Apr 2022 17:31:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/array-function/m-p/805633#M317364</guid>
      <dc:creator>joon1</dc:creator>
      <dc:date>2022-04-02T17:31:50Z</dc:date>
    </item>
  </channel>
</rss>

