<?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 How to merg datasets with column names as dates. Need help with syntax in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802893#M316114</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to merge 2 datasets. Please provide help with how to do this:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;dataset A contains customer and start date&lt;/LI&gt;&lt;LI&gt;dataset B contains column headings as dates and info for each each customer under each date.&lt;/LI&gt;&lt;LI&gt;Illustration of Dataset A, Dataset B and desired output&amp;nbsp;(I want to pull 24 months information from start date and assign it as M1,M2,M3.....M24)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;customer&amp;nbsp; &amp;nbsp; &amp;nbsp;Start date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1April2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1July2018&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset B&lt;/P&gt;&lt;P&gt;Customer&amp;nbsp; &amp;nbsp; &amp;nbsp; 1April 2018&amp;nbsp; &amp;nbsp; &amp;nbsp;1May2018&amp;nbsp; &amp;nbsp; June2018&amp;nbsp; &amp;nbsp;July2018&amp;nbsp; Aug2018&amp;nbsp; Sep2018&amp;nbsp; ...... Mar2022&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&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; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&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;4&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;6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ......&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;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; &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; 7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;......&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired output&lt;/P&gt;&lt;P&gt;Customer&amp;nbsp; &amp;nbsp; &amp;nbsp;Start date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; M1&amp;nbsp; &amp;nbsp; &amp;nbsp; M2&amp;nbsp; &amp;nbsp; &amp;nbsp;M3&amp;nbsp; &amp;nbsp; &amp;nbsp;M4..........&amp;nbsp; M24&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1April2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; ........&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1July2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.........&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 19 Mar 2022 09:39:40 GMT</pubDate>
    <dc:creator>adjn258</dc:creator>
    <dc:date>2022-03-19T09:39:40Z</dc:date>
    <item>
      <title>How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802893#M316114</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to merge 2 datasets. Please provide help with how to do this:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;dataset A contains customer and start date&lt;/LI&gt;&lt;LI&gt;dataset B contains column headings as dates and info for each each customer under each date.&lt;/LI&gt;&lt;LI&gt;Illustration of Dataset A, Dataset B and desired output&amp;nbsp;(I want to pull 24 months information from start date and assign it as M1,M2,M3.....M24)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;customer&amp;nbsp; &amp;nbsp; &amp;nbsp;Start date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1April2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1July2018&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset B&lt;/P&gt;&lt;P&gt;Customer&amp;nbsp; &amp;nbsp; &amp;nbsp; 1April 2018&amp;nbsp; &amp;nbsp; &amp;nbsp;1May2018&amp;nbsp; &amp;nbsp; June2018&amp;nbsp; &amp;nbsp;July2018&amp;nbsp; Aug2018&amp;nbsp; Sep2018&amp;nbsp; ...... Mar2022&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&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; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&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;4&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;6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ......&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;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; &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; 7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;......&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired output&lt;/P&gt;&lt;P&gt;Customer&amp;nbsp; &amp;nbsp; &amp;nbsp;Start date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; M1&amp;nbsp; &amp;nbsp; &amp;nbsp; M2&amp;nbsp; &amp;nbsp; &amp;nbsp;M3&amp;nbsp; &amp;nbsp; &amp;nbsp;M4..........&amp;nbsp; M24&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1April2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; ........&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1July2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.........&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 09:39:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802893#M316114</guid>
      <dc:creator>adjn258</dc:creator>
      <dc:date>2022-03-19T09:39:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802897#M316117</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data DatasetA;
input customer     Startdate  : $20.;       
cards;
     1              1April2018            
     2              1July2018   
;
 

data DatasetB;
input Customer      April2018     May2018    June2018   July2018  Aug2018  Sep2018 ;
cards;
   1                      1                      2                3                   4                5             6      
   2                      .                     .                .                   7                8             9    
;

proc transpose data=DatasetB out=temp;
by Customer;
var April2018--Sep2018 ;
run;

proc transpose data=temp(where=(col1 is not missing)) out=temp1 prefix=M;
by Customer;
var col1 ;
run;

data want;
merge DatasetA temp1(drop=_name_);
by CUstomer;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 19 Mar 2022 10:49:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802897#M316117</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-03-19T10:49:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802913#M316125</link>
      <description>&lt;P&gt;If your dataset B always has its first non-missing value in the variable corresponding to startdate in dataset A, then the task is very straightforward:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data DatasetA;
input customer     Startdate  : $20.;       
cards;
     1              1April2018            
     2              1July2018   
;
 

data DatasetB;
input Customer      April2018     May2018    June2018   July2018  Aug2018  Sep2018 ;
cards;
   1                      1                      2                3                   4                5             6      
   2                      .                     .                .                   7                8             9    
;

data want (drop=_:);
  merge dataseta  datasetB;
  by customer;
  array months {*} april2018--sep2018;
  
  do _offset=0 to 5 while(months{_offset+1}=.);
  end;
  
  array M {6};
  do _i=1 to dim(m)-_offset;
    m{_i}=months{_offset+_i};
  end;
  drop april2018--sep2018;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Just make sure to have your array declarations consistent.&amp;nbsp; &amp;nbsp;Make the M large enough to consider all of your date variables, size 6 above, but likely size 24 if you really have 24 months.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also this assumes that all the date variables in dataset B are contiguous.&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 15:25:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802913#M316125</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-03-19T15:25:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802921#M316129</link>
      <description>&lt;P&gt;That is actually not the case.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In dataset A, the start date keeps incrementing, for example,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;Cust&amp;nbsp; Start_date&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Apr18&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; May18&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; Mar22&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp;...&lt;/P&gt;&lt;P&gt;and so on&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so the desired output needs to be like (remember there are large number of customers and i had taken 2 customers just for illustration)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cust&amp;nbsp; Start_Date&amp;nbsp; M1&amp;nbsp; &amp;nbsp;M2&amp;nbsp; &amp;nbsp;M3 ...... M24&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Apr'18&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp;....&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;May'18&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp;.....&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jun'18&lt;/P&gt;&lt;P&gt;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mar'22&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 16:50:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802921#M316129</guid>
      <dc:creator>adjn258</dc:creator>
      <dc:date>2022-03-19T16:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802923#M316131</link>
      <description>&lt;P&gt;(remember there are large number of customers and i had taken 2 customers just for illustration)&lt;/P&gt;&lt;P&gt;further, In dataset A, the start date keeps incrementing to cover all dates till the latest month, for example,&lt;/P&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;Cust&amp;nbsp; Start_date&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Apr18&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; May18&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; Mar22&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp;...&lt;/P&gt;&lt;P&gt;and so on&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so the desired output needs to be like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cust&amp;nbsp; Start_Date&amp;nbsp; M1&amp;nbsp; &amp;nbsp;M2&amp;nbsp; &amp;nbsp;M3 ...... M24&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Apr'18&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp;....&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;May'18&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp;.....&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jun'18&lt;/P&gt;&lt;P&gt;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mar'22&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 16:54:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802923#M316131</guid>
      <dc:creator>adjn258</dc:creator>
      <dc:date>2022-03-19T16:54:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802931#M316134</link>
      <description>&lt;P&gt;First let's convert your posted listings into actual data.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a ;
  input customer start :date. ;
  format start date9.;
cards;
1 01Apr2018            
2 01Jul2018   
;

data b;
  input customer Apr2018 May2018 Jun2018 Jul2018 Aug2018 Sep2018 ;
cards;
1 1 2 3 4 5 6
2 . . . 7 8 9
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You will want to first use PROC TRANSPOSE to convert the B dataset that has data in the metadata into a dataset that has the data stored in actual variables.&amp;nbsp; You will have to convert names into date values since the name of a variable is a text string, not a number.&lt;/P&gt;
&lt;P&gt;Then you can merge the two datasets and calculate the MONTH offset between the two dates.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose data=b out=b_tall(rename=(col1=B));
  by customer;
run;

data want;
  merge a b_tall;
  by customer;
  date = input(_name_,anydtdte.);
  format date date9.;
  month = 1 + intck('month',start,date);
  if month &amp;lt; 1 then delete;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Which you could print using PROC REPORT like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc report data=want ;
  column customer start B,month;
  define customer / group;
  define start / group;
  define month / across ;
  define B / sum ' ' ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2022-03-19 133420.jpg" style="width: 335px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/69583iC6D9E6B81800E200/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2022-03-19 133420.jpg" alt="Screenshot 2022-03-19 133420.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;If you want you can transpose again, but then instead of having date values in the metadata you will have the month offset number instead.&amp;nbsp; Why not just leave the data in the normalized format where it will be easier to work with.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 17:37:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802931#M316134</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-03-19T17:37:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802934#M316135</link>
      <description>This problem was slightly restated: In dataset A, the start date keeps incrementing, for example,&lt;BR /&gt;Dataset A&lt;BR /&gt;&lt;BR /&gt;Cust Start_date&lt;BR /&gt;1 Apr18&lt;BR /&gt;1 May18&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;1 Mar22&lt;BR /&gt;2 ...&lt;BR /&gt;and so on&lt;BR /&gt;&lt;BR /&gt;Dataset B remains the same - it is the master dataset with all info for all dates for all customers&lt;BR /&gt;&lt;BR /&gt;so the desired output needs to be like (remember there are large number of customers and i had taken 2 customers just for illustration)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Cust Start_Date M1 M2 M3 ...... M24&lt;BR /&gt;&lt;BR /&gt;1 Apr'18 1 2 3 ....&lt;BR /&gt;1 May'18 2 3 4 .....&lt;BR /&gt;1 Jun'18&lt;BR /&gt;. .&lt;BR /&gt;. .&lt;BR /&gt;1 Mar'22 . . .</description>
      <pubDate>Sat, 19 Mar 2022 17:51:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802934#M316135</guid>
      <dc:creator>adjn258</dc:creator>
      <dc:date>2022-03-19T17:51:11Z</dc:date>
    </item>
    <item>
      <title>Merging 2 datasets (with dates as column names in one of the datasets). Help with programming</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802940#M316145</link>
      <description>&lt;P&gt;I am trying to merge 2 datasets. Please provide help with how to do this:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;dataset A contains customer and start date&lt;/LI&gt;&lt;LI&gt;dataset B contains column headings as dates and info for each each customer under each date.&lt;/LI&gt;&lt;LI&gt;Illustration of Dataset A, Dataset B and desired output&amp;nbsp;(I want to pull 24 months information from start date (till most recent month) and assign it as M1,M2,M3.....M24)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;customer&amp;nbsp; &amp;nbsp; &amp;nbsp;Start date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1April2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1July2018&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset B&lt;/P&gt;&lt;P&gt;Customer&amp;nbsp; &amp;nbsp; &amp;nbsp; 1April 2018&amp;nbsp; &amp;nbsp; &amp;nbsp;1May2018&amp;nbsp; &amp;nbsp; June2018&amp;nbsp; &amp;nbsp;July2018&amp;nbsp; Aug2018&amp;nbsp; Sep2018&amp;nbsp; ...... Mar2022&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&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; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&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;4&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;6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ......&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;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; &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; 7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;......&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired output&lt;/P&gt;&lt;P&gt;Customer&amp;nbsp; &amp;nbsp; &amp;nbsp;Start date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; M1&amp;nbsp; &amp;nbsp; &amp;nbsp; M2&amp;nbsp; &amp;nbsp; &amp;nbsp;M3&amp;nbsp; &amp;nbsp; &amp;nbsp;M4..........&amp;nbsp; M24&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1April2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; ........&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1May2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5&amp;nbsp; ......&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1June2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6&amp;nbsp; ......&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; .&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; .&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mar'2020&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; . ............&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1July2018&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.........&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1Aug'2019&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9&amp;nbsp; &amp;nbsp; &amp;nbsp; 10&amp;nbsp; ..................&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 18:16:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802940#M316145</guid>
      <dc:creator>adjn258</dc:creator>
      <dc:date>2022-03-19T18:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802941#M316140</link>
      <description>&lt;P&gt;If&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The first record in Dataset A for a customer has a startdate that corresponds with the first non-missing value in dataset B, and&lt;/LI&gt;
&lt;LI&gt;The above record is followed by monthly increments - i.e. there are no holes between consecutive dataset A records, and&lt;/LI&gt;
&lt;LI&gt;The date variables in dataset B are contiguous&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;then you could still use a single data step approach, with minor changes in calculating and using the _OFFSET variable:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data DatasetA;
input customer     Startdate  : $20.;       
cards;
     1              1April2018  
     1              1May2018
     1              1June2018 
     2              1July2018
     2              1Aug2018
     2              1Sep2018 
;
 

data DatasetB;
input Customer      April2018     May2018    June2018   July2018  Aug2018  Sep2018 ;
cards;
   1                      1                      2                3                   4                5             6      
   2                      .                     .                .                   7                8             9    
;

data want (drop=_:);
  merge dataseta  datasetB;
  by customer;
  array months {*} april2018--sep2018;
  
  if first.customer then do _offset=0 to dim(months)-1 while(months{_offset+1}=.);
  end;
  else _offset+1;
  
  array M {6};
  if _offset&amp;lt;dim(months) then do _i=1 to dim(m)-_offset;
    m{_i}=months{_offset+_i};
  end;
  drop april2018--sep2018;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 18:30:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802941#M316140</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-03-19T18:30:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to merg datasets with column names as dates. Need help with syntax</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802943#M316142</link>
      <description>&lt;P&gt;That is a completely different problem than the original question.&lt;/P&gt;
&lt;P&gt;In this new problem the values from B are REPEATED in the output dataset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The answer is still the same though.&lt;/P&gt;
&lt;P&gt;First get the date values out of the metadata into a actual data by transposing the B dataset and converting the variable name into a date.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now to get this data with the values from B matched to multiple observations from A you will want to use an SQL join instead of a simple SAS merge.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
  create table want as 
  select customer
          , a.start 
          , intck('month',a.start,b.date)+1 as month
          , b.date 
          , b.B
   from A a
     left join B b
    on a.customer = b.customer 
    and . &amp;lt; a.start &amp;lt;= b.date
  order by customer, start, month
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can now use this data to produce your report as an actual report.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or use proc transpose to create a dataset where the month number is implied by the name of the variable.&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 19:28:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802943#M316142</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-03-19T19:28:13Z</dc:date>
    </item>
    <item>
      <title>Re: Merging 2 datasets (with dates as column names in one of the datasets). Help with programming</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802944#M316146</link>
      <description>&lt;P&gt;What did you try so far? Are your data in SAS data sets?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;B.&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 20:14:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-merg-datasets-with-column-names-as-dates-Need-help-with/m-p/802944#M316146</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2022-03-19T20:14:09Z</dc:date>
    </item>
  </channel>
</rss>

