<?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: Upper left triangular matrix -  Dynamically create various averages for each column or combination of columns in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150097#M39565</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would like to be in both layouts&amp;nbsp; (data and report &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="639"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl124" height="15" width="107"&gt;…..&lt;/TD&gt;&lt;TD class="xl130" width="69"&gt;K1&lt;/TD&gt;&lt;TD class="xl130" width="69"&gt;K2&lt;/TD&gt;&lt;TD class="xl130" width="68"&gt;K3&lt;/TD&gt;&lt;TD class="xl130" width="67"&gt;K4&lt;/TD&gt;&lt;TD class="xl130" width="69"&gt;K5&lt;/TD&gt;&lt;TD class="xl130" width="70"&gt;K6&lt;/TD&gt;&lt;TD class="xl130" width="64"&gt;K7&lt;/TD&gt;&lt;TD class="xl130" width="56"&gt;K8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R1&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;100&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;145&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;156&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;245&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;567&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;689&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;890&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R2&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;34&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;98&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;210&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;234&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;345&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;450&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;509&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R3&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;22&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;45&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;67&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;78&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;68&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;89&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R4&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;56&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;67&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;89&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;45&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;34&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R5&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;145&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;256&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;324&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;456&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R6&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;76&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;89&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;121&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R7&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;59&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;88&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R8&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;122&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Average of last 4=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;100.50&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;125.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;150.25&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;203.25&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;173.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;368.67&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;599.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Average of last 3=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;85.67&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;144.33&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;178.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;193.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;149.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;368.67&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;599.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Weighted Sum last 4=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.49&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.32&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.18&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.35&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.68&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.18&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Weighted Sum last 3=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.55&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.30&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.21&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.25&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.31&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.13&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.29&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Oct 2014 18:08:06 GMT</pubDate>
    <dc:creator>Nikos</dc:creator>
    <dc:date>2014-10-30T18:08:06Z</dc:date>
    <item>
      <title>Upper left triangular matrix -  Dynamically create various averages for each column or combination of columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150095#M39563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I produce a series of data sets that look like an upper left triangular matrix i.e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" height="224" style="width: 1274px; height: 224px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl127" width="138"&gt;&lt;/TD&gt;&lt;TD class="xl127" width="138"&gt;K1&lt;/TD&gt;&lt;TD class="xl127" width="136"&gt;K2&lt;/TD&gt;&lt;TD class="xl127" width="134"&gt;K3&lt;/TD&gt;&lt;TD class="xl127" width="138"&gt;K4&lt;/TD&gt;&lt;TD class="xl127" width="140"&gt;K5&lt;/TD&gt;&lt;TD class="xl127" width="128"&gt;K6&lt;/TD&gt;&lt;TD class="xl127" width="112"&gt;K7&lt;/TD&gt;&lt;TD&gt;K8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R1&lt;/TD&gt;&lt;TD class="xl124"&gt;100&lt;/TD&gt;&lt;TD class="xl124"&gt;123&lt;/TD&gt;&lt;TD class="xl124"&gt;145&lt;/TD&gt;&lt;TD class="xl124"&gt;156&lt;/TD&gt;&lt;TD class="xl124"&gt;245&lt;/TD&gt;&lt;TD class="xl124"&gt;567&lt;/TD&gt;&lt;TD class="xl124"&gt;689&lt;/TD&gt;&lt;TD class="xl125"&gt;890&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R2&lt;/TD&gt;&lt;TD class="xl124"&gt;34&lt;/TD&gt;&lt;TD class="xl124"&gt;98&lt;/TD&gt;&lt;TD class="xl124"&gt;210&lt;/TD&gt;&lt;TD class="xl124"&gt;234&lt;/TD&gt;&lt;TD class="xl124"&gt;345&lt;/TD&gt;&lt;TD class="xl124"&gt;450&lt;/TD&gt;&lt;TD class="xl125"&gt;509&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R3&lt;/TD&gt;&lt;TD class="xl124"&gt;22&lt;/TD&gt;&lt;TD class="xl124"&gt;45&lt;/TD&gt;&lt;TD class="xl124"&gt;67&lt;/TD&gt;&lt;TD class="xl124"&gt;78&lt;/TD&gt;&lt;TD class="xl124"&gt;68&lt;/TD&gt;&lt;TD class="xl125"&gt;89&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R4&lt;/TD&gt;&lt;TD class="xl124"&gt;56&lt;/TD&gt;&lt;TD class="xl124"&gt;67&lt;/TD&gt;&lt;TD class="xl124"&gt;89&lt;/TD&gt;&lt;TD class="xl124"&gt;45&lt;/TD&gt;&lt;TD class="xl125"&gt;34&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R5&lt;/TD&gt;&lt;TD class="xl124"&gt;145&lt;/TD&gt;&lt;TD class="xl124"&gt;256&lt;/TD&gt;&lt;TD class="xl124"&gt;324&lt;/TD&gt;&lt;TD class="xl125"&gt;456&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R6&lt;/TD&gt;&lt;TD class="xl124"&gt;76&lt;/TD&gt;&lt;TD class="xl124"&gt;89&lt;/TD&gt;&lt;TD class="xl125"&gt;121&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R7&lt;/TD&gt;&lt;TD class="xl124"&gt;59&lt;/TD&gt;&lt;TD class="xl125"&gt;88&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl126" height="15"&gt;R8&lt;/TD&gt;&lt;TD class="xl125"&gt;122&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to produce &lt;SPAN style="text-decoration: underline;"&gt;dynamically various averages based on the columns for each column from K1 through K8&lt;/SPAN&gt;&amp;nbsp; i.e. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 1166px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl124" height="15" width="214"&gt;="Average of last 4="&lt;/TD&gt;&lt;TD class="xl125" width="138"&gt;=AVERAGE(B7:B10)&lt;/TD&gt;&lt;TD class="xl125" width="138"&gt;=AVERAGE(C6:C9)&lt;/TD&gt;&lt;TD class="xl125" width="136"&gt;=AVERAGE(D5:D8)&lt;/TD&gt;&lt;TD class="xl125" width="134"&gt;=AVERAGE(E4:E7)&lt;/TD&gt;&lt;TD class="xl125" width="138"&gt;=AVERAGE(F3:F6)&lt;/TD&gt;&lt;TD class="xl125" width="140"&gt;=AVERAGE(G3:G5)&lt;/TD&gt;&lt;TD class="xl125" width="128"&gt;=AVERAGE(H3:H4)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl124" height="15"&gt;="Average of last 3="&lt;/TD&gt;&lt;TD class="xl125"&gt;=AVERAGE(B8:B10)&lt;/TD&gt;&lt;TD class="xl125"&gt;=AVERAGE(C7:C9)&lt;/TD&gt;&lt;TD class="xl125"&gt;=AVERAGE(D6:D8)&lt;/TD&gt;&lt;TD class="xl125"&gt;=AVERAGE(E5:E7)&lt;/TD&gt;&lt;TD class="xl125"&gt;=AVERAGE(F4:F6)&lt;/TD&gt;&lt;TD class="xl125"&gt;=AVERAGE(G3:G5)&lt;/TD&gt;&lt;TD class="xl125"&gt;=AVERAGE(H3:H4)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl124" height="15"&gt;="Weighted Sum last 4="&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(C6:C9)/SUM(B6:B9)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(D5:D8)/SUM(C5:C8)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(E4:E7)/SUM(D4:D7)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(F3:F6)/SUM(E3:E6)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(G3:G5)/SUM(F3:F5)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(H3:H4)/SUM(G3:G4)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(I3:I3)/SUM(H3:H3)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl124" height="15"&gt;="Weighted Sum last 3="&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(C7:C9)/SUM(B7:B9)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(D6:D8)/SUM(C6:C8)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(E5:E7)/SUM(D5:D7)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(F4:F6)/SUM(E4:E6)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(G4:G5)/SUM(F4:F5)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(H4:H4)/SUM(G4:G4)&lt;/TD&gt;&lt;TD class="xl125"&gt;=SUM(I4:I4)/SUM(H4:H4)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Furthermore both R(i) and K(j) vary, meaning that ( i ) and ( j )-- matrix dimensions -- &lt;SPAN style="text-decoration: underline;"&gt;may not be equal.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nikos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Oct 2014 17:37:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150095#M39563</guid>
      <dc:creator>Nikos</dc:creator>
      <dc:date>2014-10-30T17:37:32Z</dc:date>
    </item>
    <item>
      <title>Re: Upper left triangular matrix -  Dynamically create various averages for each column or combination of columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150096#M39564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to give an example of what you want your results to look like. Is this supposed to result in a data set or a report?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Oct 2014 17:50:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150096#M39564</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2014-10-30T17:50:31Z</dc:date>
    </item>
    <item>
      <title>Re: Upper left triangular matrix -  Dynamically create various averages for each column or combination of columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150097#M39565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would like to be in both layouts&amp;nbsp; (data and report &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="639"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl124" height="15" width="107"&gt;…..&lt;/TD&gt;&lt;TD class="xl130" width="69"&gt;K1&lt;/TD&gt;&lt;TD class="xl130" width="69"&gt;K2&lt;/TD&gt;&lt;TD class="xl130" width="68"&gt;K3&lt;/TD&gt;&lt;TD class="xl130" width="67"&gt;K4&lt;/TD&gt;&lt;TD class="xl130" width="69"&gt;K5&lt;/TD&gt;&lt;TD class="xl130" width="70"&gt;K6&lt;/TD&gt;&lt;TD class="xl130" width="64"&gt;K7&lt;/TD&gt;&lt;TD class="xl130" width="56"&gt;K8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R1&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;100&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;123&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;145&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;156&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;245&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;567&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;689&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;890&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R2&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;34&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;98&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;210&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;234&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;345&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;450&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;509&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R3&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;22&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;45&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;67&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;78&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;68&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;89&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R4&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;56&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;67&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;89&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;45&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;34&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R5&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;145&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;256&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;324&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;456&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R6&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;76&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;89&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;121&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R7&lt;/TD&gt;&lt;TD align="right" class="xl126"&gt;59&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;88&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl129" height="15"&gt;R8&lt;/TD&gt;&lt;TD align="right" class="xl127"&gt;122&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Average of last 4=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;100.50&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;125.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;150.25&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;203.25&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;173.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;368.67&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;599.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Average of last 3=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;85.67&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;144.33&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;178.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;193.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;149.00&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;368.67&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;599.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Weighted Sum last 4=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.49&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.32&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.18&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.35&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.68&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.18&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl125" height="15"&gt;Weighted Sum last 3=&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.55&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.30&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.21&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.25&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.31&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.13&lt;/TD&gt;&lt;TD align="right" class="xl128"&gt;1.29&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Oct 2014 18:08:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150097#M39565</guid>
      <dc:creator>Nikos</dc:creator>
      <dc:date>2014-10-30T18:08:06Z</dc:date>
    </item>
    <item>
      <title>Re: Upper left triangular matrix -  Dynamically create various averages for each column or combination of columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150098#M39566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How about:&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;PRE&gt;


data have;
input K1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;K2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;K3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;K4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;K5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;K6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;K7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;K8 ;
cards;
100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;156&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;245&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;689&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;890
34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;210&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;345&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;450&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;509 .
22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;78&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;89 . .
56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;34 . . .
145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;256&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;324&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;456 . . . .
76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;121 . . . . .
59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;88 . . . . . .
122 . . . . . . .
;
run;
data temp(drop= k:);
 set have;
 array x{*} K: ;
 n=_n_;
 do i=1 to dim(x);
&amp;nbsp; id=vname(x{i});
&amp;nbsp; value=x{i};
&amp;nbsp; if not missing(value) then output;
 end;
run;
proc sort data=temp;by i n;run;
data temp1(drop=n value);
 set temp;
 by i;
 array four{0:3} _temporary_;
 array three{0:2} _temporary_;
 if last.i then do;
&amp;nbsp; lag_four_sum=sum(of four{*});
&amp;nbsp; lag_three_sum=sum(of three{*});
 end;
 four{mod(n,4)}=value;
 three{mod(n,3)}=value;
 if last.i then do;
&amp;nbsp; avg_four=mean(of four{*}); sum_four=sum(of four{*});
&amp;nbsp; avg_three=mean(of three{*});sum_three=sum(of three{*});
&amp;nbsp; output;call missing(of four{*} three{*});
 end;
run; 
data temp2(drop=_: lag_: sum_:);
 merge temp1 temp1(firstobs=2 keep=sum_four sum_three rename=(sum_four=_sum_four sum_three=_sum_three));
 weighted_sum_four=divide(_sum_four,lag_four_sum);
 weighted_sum_three=divide(_sum_three,lag_three_sum);
run;

proc transpose data=temp2 out=want ;
var avg_: weighted_: ;
id id;
run;


&lt;/PRE&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;&lt;/P&gt;&lt;P&gt;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Oct 2014 09:53:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150098#M39566</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-10-31T09:53:22Z</dc:date>
    </item>
    <item>
      <title>Re: Upper left triangular matrix -  Dynamically create various averages for each column or combination of columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150099#M39567</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Xia,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 02 Nov 2014 13:39:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Upper-left-triangular-matrix-Dynamically-create-various-averages/m-p/150099#M39567</guid>
      <dc:creator>Nikos</dc:creator>
      <dc:date>2014-11-02T13:39:16Z</dc:date>
    </item>
  </channel>
</rss>

