<?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 duplicate rows for a parameter by subject in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-duplicate-rows-for-a-parameter-by-subject/m-p/844524#M333877</link>
    <description>&lt;P&gt;Hi all&lt;/P&gt;&lt;P&gt;I am seeking advice/suggestions on how to duplicate rows for a parameter if a subject did not do a scheduled test. I have a long dataset with multiple records per subject reporting the results of an ECG (heart rate, QT interval, QRS duration…). Some subjects did not do the ECG test at the scheduled time and have only a single row with the reason why the test was not done (shown in bold). The current dataset looks like the one below.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;SUBJID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VISIT&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;PARAM&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VAL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;RSN&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;ECG&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to duplicate Day 35, where the test was not done (shown in bold), for each of the parameters. The desired dataset is shown below.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;SUBJID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VISIT&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;PARAM&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VAL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;RSN&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Heart rate&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;QT interval&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;QRS duration&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did this a very long way but I feel there is something better. The steps I took to do this are below.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;EM&gt;DS1.&lt;/EM&gt; Added a column “Join” = “ECG” for the join in&amp;nbsp;&lt;EM&gt;DS4&lt;/EM&gt;.&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS2&lt;/EM&gt;. Created a dataset from &lt;EM&gt;DS1&lt;/EM&gt; keeping only records ‘where VAL= “Not Done” '&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS3&lt;/EM&gt;. Created a dataset from &lt;EM&gt;DS1&lt;/EM&gt; of unique parameters (‘select distinct PARAM’) - in this example there are 3&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS4&lt;/EM&gt;. ‘Inner join’ &lt;EM&gt;DS2&lt;/EM&gt; and &lt;EM&gt;DS3&lt;/EM&gt; on the ‘Join’ variable&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS5&lt;/EM&gt;. Kept records from &lt;EM&gt;DS1&lt;/EM&gt; ‘where VAL ne “Not done”’&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS6&lt;/EM&gt;. Append &lt;EM&gt;DS4&lt;/EM&gt; and &lt;EM&gt;DS5&lt;/EM&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Any suggestions/tips/advice for a better approach are welcome!&lt;/P&gt;&lt;P&gt;Thanks in advance for your time&lt;/P&gt;&lt;P&gt;Jennie&lt;/P&gt;</description>
    <pubDate>Tue, 15 Nov 2022 22:50:14 GMT</pubDate>
    <dc:creator>JennieWalker</dc:creator>
    <dc:date>2022-11-15T22:50:14Z</dc:date>
    <item>
      <title>How to duplicate rows for a parameter by subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-duplicate-rows-for-a-parameter-by-subject/m-p/844524#M333877</link>
      <description>&lt;P&gt;Hi all&lt;/P&gt;&lt;P&gt;I am seeking advice/suggestions on how to duplicate rows for a parameter if a subject did not do a scheduled test. I have a long dataset with multiple records per subject reporting the results of an ECG (heart rate, QT interval, QRS duration…). Some subjects did not do the ECG test at the scheduled time and have only a single row with the reason why the test was not done (shown in bold). The current dataset looks like the one below.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;SUBJID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VISIT&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;PARAM&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VAL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;RSN&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;ECG&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to duplicate Day 35, where the test was not done (shown in bold), for each of the parameters. The desired dataset is shown below.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;SUBJID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VISIT&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;PARAM&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VAL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;RSN&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Screening&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heart rate&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;X2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QT interval&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Y2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Day 49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;QRS duration&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Z2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Heart rate&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;QT interval&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Day 35&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;QRS duration&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Not done&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did this a very long way but I feel there is something better. The steps I took to do this are below.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;EM&gt;DS1.&lt;/EM&gt; Added a column “Join” = “ECG” for the join in&amp;nbsp;&lt;EM&gt;DS4&lt;/EM&gt;.&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS2&lt;/EM&gt;. Created a dataset from &lt;EM&gt;DS1&lt;/EM&gt; keeping only records ‘where VAL= “Not Done” '&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS3&lt;/EM&gt;. Created a dataset from &lt;EM&gt;DS1&lt;/EM&gt; of unique parameters (‘select distinct PARAM’) - in this example there are 3&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS4&lt;/EM&gt;. ‘Inner join’ &lt;EM&gt;DS2&lt;/EM&gt; and &lt;EM&gt;DS3&lt;/EM&gt; on the ‘Join’ variable&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS5&lt;/EM&gt;. Kept records from &lt;EM&gt;DS1&lt;/EM&gt; ‘where VAL ne “Not done”’&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;DS6&lt;/EM&gt;. Append &lt;EM&gt;DS4&lt;/EM&gt; and &lt;EM&gt;DS5&lt;/EM&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Any suggestions/tips/advice for a better approach are welcome!&lt;/P&gt;&lt;P&gt;Thanks in advance for your time&lt;/P&gt;&lt;P&gt;Jennie&lt;/P&gt;</description>
      <pubDate>Tue, 15 Nov 2022 22:50:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-duplicate-rows-for-a-parameter-by-subject/m-p/844524#M333877</guid>
      <dc:creator>JennieWalker</dc:creator>
      <dc:date>2022-11-15T22:50:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to duplicate rows for a parameter by subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-duplicate-rows-for-a-parameter-by-subject/m-p/844533#M333880</link>
      <description>&lt;P&gt;IF your starting data does not have more than one observation when you have that Param=ECG and Not done values then something like this should suffice:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   if Param='ECG' and Val='Not done' then do;
      Param='Heart rate'; output;
      Param='QT interval'; output;
      Param='QRS duration'; output;
   end;&lt;BR /&gt;  else output;
run;&lt;/PRE&gt;
&lt;P&gt;The OUTPUT statement tells SAS to write to the output destination when encountered. If change the value of one variable, such as Param, all the others stay the same and are written to the output such as the Subjid, Visit, Value and Rsn&lt;/P&gt;
&lt;P&gt;Since you want to write 3 values then 3 outputs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, if you have other stuff for day 35, because you didn't show the next observations, then this may not be quite correct.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Nov 2022 23:25:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-duplicate-rows-for-a-parameter-by-subject/m-p/844533#M333880</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2022-11-15T23:25:54Z</dc:date>
    </item>
  </channel>
</rss>

