<?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: How to frame the query? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632148#M187386</link>
    <description>Thanks a lot.It worked for me.</description>
    <pubDate>Sat, 14 Mar 2020 13:46:43 GMT</pubDate>
    <dc:creator>Lidia1</dc:creator>
    <dc:date>2020-03-14T13:46:43Z</dc:date>
    <item>
      <title>How to frame the query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632142#M187383</link>
      <description>&lt;P&gt;I have below raw data -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SOC&amp;nbsp; &amp;nbsp;PT&amp;nbsp; &amp;nbsp;DOSE&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How to change the above data to the below?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SOC&amp;nbsp; &amp;nbsp; DOSE&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; Y&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help.&lt;/P&gt;</description>
      <pubDate>Sat, 14 Mar 2020 13:15:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632142#M187383</guid>
      <dc:creator>Lidia1</dc:creator>
      <dc:date>2020-03-14T13:15:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to frame the query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632145#M187384</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/266872"&gt;@Lidia1&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is some code to begin with. Could you please explain what does the values 1 and 2 in column DOSE and corresponding to the SOC number correspond to?&lt;/P&gt;
&lt;P&gt;SOC&amp;nbsp; &amp;nbsp; DOSE&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;FONT color="#FF0000"&gt;&amp;nbsp; &amp;nbsp; 1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Y&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;FONT color="#FF0000"&gt; 1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you need to output a report or a dataset? Or both?&lt;/P&gt;
&lt;P&gt;Thank you for the clarifications,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	input SOC  PT $  DOSE;
	datalines;
1 X 1
1 Y 2
2 Z 1
2 A 2
;
run;

proc report data=have out=want (keep=DUMMY DOSE rename=(DUMMY=SOC));
	columns soc pt dummy dose;
	
	define soc	/ order noprint;
	define pt	/ display noprint;
	define dummy/ computed "SOC";
	define dose	/ display;
	
	break before soc /summarize;
	
	compute dummy / character;
		dummy = PT;
		if _BREAK_="SOC" then dummy=strip(SOC);
	endcomp;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Best,&lt;/P&gt;</description>
      <pubDate>Sat, 14 Mar 2020 13:34:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632145#M187384</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-03-14T13:34:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to frame the query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632146#M187385</link>
      <description>&lt;P&gt;See this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input soc $ pt $ dose;
datalines;
1          X       1
1          Y       2
2          Z       1
2          A       2
;

data want (keep=soc dose);
set have;
by soc;
if first.soc then output;
soc = pt;
output;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Resulting dataset:&lt;/P&gt;
&lt;PRE&gt;soc	dose
1	1
X	1
Y	2
2	1
Z	1
A	2
&lt;/PRE&gt;</description>
      <pubDate>Sat, 14 Mar 2020 13:36:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632146#M187385</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-03-14T13:36:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to frame the query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632148#M187386</link>
      <description>Thanks a lot.It worked for me.</description>
      <pubDate>Sat, 14 Mar 2020 13:46:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632148#M187386</guid>
      <dc:creator>Lidia1</dc:creator>
      <dc:date>2020-03-14T13:46:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to frame the query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632149#M187387</link>
      <description>&lt;P&gt;Data from the first row of each group needs to be output twice.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this sample the SOC variable is changing type from numeric to character, so a RENAME in the SET and CATS in the STEP is used to accomplish that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have; input
SOC: 1. PT: $  DOSE: 1.; datalines;
1       X      1
1       Y      2
2       Z      1
2       A      2
;

data want(keep=SOC DOSE);
  length soc $8;

  set have (rename=soc=soc_num);
  by soc_num;

  if first.soc_num then do;
    soc = cats(soc_num);
    output;
  end;

  soc = pt;
  output;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I'm curious, can you describe the use case for when this data transformation is needed or helpful ?&lt;/P&gt;</description>
      <pubDate>Sat, 14 Mar 2020 13:51:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-frame-the-query/m-p/632149#M187387</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-03-14T13:51:26Z</dc:date>
    </item>
  </channel>
</rss>

