<?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: Transform a dataset of date consumption of two medications into weeks based on the period of dru in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723398#M224473</link>
    <description>&lt;P&gt;You may want to explain, why week starts with 10 (10 seems to be the number of the week) for&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;05/03/2018&lt;/TD&gt;
&lt;TD&gt;28&lt;/TD&gt;
&lt;TD&gt;12000&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;but with 1 for&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;03/03/2019&lt;/TD&gt;
&lt;TD&gt;28&lt;/TD&gt;
&lt;TD&gt;1300&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 04 Mar 2021 10:28:00 GMT</pubDate>
    <dc:creator>andreas_lds</dc:creator>
    <dc:date>2021-03-04T10:28:00Z</dc:date>
    <item>
      <title>Transform a dataset of date consumption of two medications into weeks based on the period of drug A</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723396#M224472</link>
      <description>&lt;P&gt;I have a dataset like this:&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Patient ID&lt;/TD&gt;&lt;TD&gt;Drug&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;days of consumption&lt;/TD&gt;&lt;TD&gt;dose&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;01/01/2018&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;1056&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;29/01/2018&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;800&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;19/02/2018&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;2000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;05/03/2018&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;12000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;02/04/2018&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;900&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;03/03/2019&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;1300&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;I want to transform the data into weeks of consumption, based on the period of drugA and the dataset that i want is like shown below:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Patient ID&lt;/TD&gt;&lt;TD&gt;Drug&lt;/TD&gt;&lt;TD&gt;Week&lt;/TD&gt;&lt;TD&gt;weekly_dose&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;264&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;264&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;264&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;264&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;266.6666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;266.6666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;266.6666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;325&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;325&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;325&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;325&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code is not really helpful because I created the data per weeks, and not based on the weeks of drug A&lt;/P&gt;&lt;PRE&gt;data DrugA;
set data(where=(drug="A"));
do i=1 to (days_cosumption / 7);
		weeks=cats("Week",i);
		weekly_dose=dose/(days_cosumption / 7);
		output;
	end;
run;
data DrugB;
set data(where=(drug="B"));
do i=1 to (days_cosumption / 7);
		weeks=cats("Week",i);
		weekly_dose=dose/(days_cosumption / 7);
		output;
	end;
run;
data Drug_A_B;
set DrugA DrugB;
run;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and this is to plot the consumption of the two medications for each ID over drugA weeks as this example of plot&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tSAS1_0-1614852416152.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/55428iD85029509FFEBBAB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="tSAS1_0-1614852416152.png" alt="tSAS1_0-1614852416152.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Mar 2021 10:32:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723396#M224472</guid>
      <dc:creator>tSAS1</dc:creator>
      <dc:date>2021-03-04T10:32:55Z</dc:date>
    </item>
    <item>
      <title>Re: Transform a dataset of date consumption of two medications into weeks based on the period of dru</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723398#M224473</link>
      <description>&lt;P&gt;You may want to explain, why week starts with 10 (10 seems to be the number of the week) for&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;05/03/2018&lt;/TD&gt;
&lt;TD&gt;28&lt;/TD&gt;
&lt;TD&gt;12000&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;but with 1 for&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;03/03/2019&lt;/TD&gt;
&lt;TD&gt;28&lt;/TD&gt;
&lt;TD&gt;1300&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Mar 2021 10:28:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723398#M224473</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2021-03-04T10:28:00Z</dc:date>
    </item>
    <item>
      <title>Re: Transform a dataset of date consumption of two medications into weeks based on the period of dru</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723404#M224477</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15475"&gt;@andreas_lds&lt;/a&gt;&amp;nbsp; for the first ID this line&lt;BR /&gt;1 A 19/02/2018 28 2000&lt;BR /&gt;means that starting from week8 the patient1 started consuming DrugA for 4weeks (from week8 to week11) until 19/03/2018 and he started consuming DrugB starting from 05/03/2018 for 4weeks.&lt;BR /&gt;it means he consumed both drugs in same two weeks (week10 and 11),&lt;/P&gt;&lt;P&gt;In other words he started taking drugB from the 10th week of drugA.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And patient2 took only drugA for 4weeks, that's why his weeks started from 1 until 4.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Mar 2021 10:55:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723404#M224477</guid>
      <dc:creator>tSAS1</dc:creator>
      <dc:date>2021-03-04T10:55:41Z</dc:date>
    </item>
    <item>
      <title>Re: Transform a dataset of date consumption of two medications into weeks based on the period of dru</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723418#M224483</link>
      <description>&lt;P&gt;With data you provided, this seems to be doing the job:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input patient_ID	Drug $	date ddmmyy10.	days_of_consumption	dose;
format date ddmmyy10.;
cards;
1	A	01/01/2018	28	1056
1	A	29/01/2018	21	800
1	A	19/02/2018	28	2000
1	B	05/03/2018	28	12000
1	A	02/04/2018	21	900
2	A	03/03/2019	28	1300
;
run;
proc print;
run;

data want1;
  set have;

  dt = date;
  d = drug;
  do _N_ = 0 to days_of_consumption-1;
    daily_dose = dose/days_of_consumption;
    date = dt + _N_; 
    drug = d;
    output;
    if d ^= "A" then     /* hardcoding */
      do;
        drug = "A";      /* hardcoding */
        daily_dose = 0;  /* hardcoding */
        output;
      end;
  end;
  drop weeks days_of_consumption dt dose d;
run;

proc sort data = want1;
  by patient_ID date drug;
run;

data want2;
  set want1;
  by patient_ID date;
  if first.patient_ID then week = 0;
  days + first.date;
  week + (mod(days,7)=1)*first.date;
run;

proc sql;
create table want3 as
  select patient_ID, drug, week, sum(daily_dose) as weekly_dose
  from want2
  group by 1,2,3
  order by 1,3,2
; 
quit;

proc print;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Thu, 04 Mar 2021 11:17:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723418#M224483</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2021-03-04T11:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: Transform a dataset of date consumption of two medications into weeks based on the period of dru</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723513#M224525</link>
      <description>Many thanks &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;</description>
      <pubDate>Thu, 04 Mar 2021 17:03:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transform-a-dataset-of-date-consumption-of-two-medications-into/m-p/723513#M224525</guid>
      <dc:creator>tSAS1</dc:creator>
      <dc:date>2021-03-04T17:03:52Z</dc:date>
    </item>
  </channel>
</rss>

