<?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 Changing a SAS data value to a Var name in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Changing-a-SAS-data-value-to-a-Var-name/m-p/73294#M15764</link>
    <description>I have a dataset that repeats records.  There are 2 values in the dataset: &lt;BR /&gt;
&lt;BR /&gt;
FNAME  FVAL &lt;BR /&gt;
&lt;BR /&gt;
MI004     100002456 &lt;BR /&gt;
AS000 &lt;BR /&gt;
PAY201   234.00 &lt;BR /&gt;
MI004     10003444 &lt;BR /&gt;
AS000     APR 5.5 &lt;BR /&gt;
AS010     Conventional &lt;BR /&gt;
MI004     100008976 &lt;BR /&gt;
XI900      X &lt;BR /&gt;
XI920      YES &lt;BR /&gt;
AS000    APR 1.1 &lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
MI004 is the key account number.  I need the data to look like this: &lt;BR /&gt;
SAS VAR Name &lt;BR /&gt;
MI004   AS000  PAY201 AS0101 XI900 XI920 &lt;BR /&gt;
&lt;BR /&gt;
All associated data stored in the corrrect buckets by variable name. &lt;BR /&gt;
&lt;BR /&gt;
Can you help?</description>
    <pubDate>Tue, 10 Feb 2009 01:08:14 GMT</pubDate>
    <dc:creator>deleted_user</dc:creator>
    <dc:date>2009-02-10T01:08:14Z</dc:date>
    <item>
      <title>Changing a SAS data value to a Var name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-a-SAS-data-value-to-a-Var-name/m-p/73294#M15764</link>
      <description>I have a dataset that repeats records.  There are 2 values in the dataset: &lt;BR /&gt;
&lt;BR /&gt;
FNAME  FVAL &lt;BR /&gt;
&lt;BR /&gt;
MI004     100002456 &lt;BR /&gt;
AS000 &lt;BR /&gt;
PAY201   234.00 &lt;BR /&gt;
MI004     10003444 &lt;BR /&gt;
AS000     APR 5.5 &lt;BR /&gt;
AS010     Conventional &lt;BR /&gt;
MI004     100008976 &lt;BR /&gt;
XI900      X &lt;BR /&gt;
XI920      YES &lt;BR /&gt;
AS000    APR 1.1 &lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
MI004 is the key account number.  I need the data to look like this: &lt;BR /&gt;
SAS VAR Name &lt;BR /&gt;
MI004   AS000  PAY201 AS0101 XI900 XI920 &lt;BR /&gt;
&lt;BR /&gt;
All associated data stored in the corrrect buckets by variable name. &lt;BR /&gt;
&lt;BR /&gt;
Can you help?</description>
      <pubDate>Tue, 10 Feb 2009 01:08:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-a-SAS-data-value-to-a-Var-name/m-p/73294#M15764</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-02-10T01:08:14Z</dc:date>
    </item>
    <item>
      <title>Re: Changing a SAS data value to a Var name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-a-SAS-data-value-to-a-Var-name/m-p/73295#M15765</link>
      <description>Proc transpose is the tool you need.  But before you can do that you will need to create a variable to group the data by account number.  This program may be helpful.&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
data tall;&lt;BR /&gt;
   input FNAME:$5. FVAL &amp;amp;$20.;&lt;BR /&gt;
   cards;&lt;BR /&gt;
MI004 100002456 &lt;BR /&gt;
AS000 &lt;BR /&gt;
PAY201 234.00 &lt;BR /&gt;
MI004 10003444 &lt;BR /&gt;
AS000 APR 5.5 &lt;BR /&gt;
AS010 Conventional &lt;BR /&gt;
MI004 100008976 &lt;BR /&gt;
XI900 X &lt;BR /&gt;
XI920 YES &lt;BR /&gt;
AS000 APR 1.1 &lt;BR /&gt;
;;;;&lt;BR /&gt;
   run;&lt;BR /&gt;
data tallV/view=tallV;&lt;BR /&gt;
   set tall;&lt;BR /&gt;
   if fname eq: 'MI' then key = fval;&lt;BR /&gt;
   retain key;&lt;BR /&gt;
   run;&lt;BR /&gt;
proc transpose data=tallV out=wide;&lt;BR /&gt;
   by key notsorted;&lt;BR /&gt;
   var fval;&lt;BR /&gt;
   id fname;&lt;BR /&gt;
   run;&lt;BR /&gt;
proc print;&lt;BR /&gt;
   run;&lt;BR /&gt;
[/pre]</description>
      <pubDate>Tue, 10 Feb 2009 11:55:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-a-SAS-data-value-to-a-Var-name/m-p/73295#M15765</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2009-02-10T11:55:49Z</dc:date>
    </item>
    <item>
      <title>Re: Changing a SAS data value to a Var name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Changing-a-SAS-data-value-to-a-Var-name/m-p/73296#M15766</link>
      <description>looks like name-value pairs.&lt;BR /&gt;
Is the list of names constant?&lt;BR /&gt;
The program would need to recognise the end of data for one account. &lt;BR /&gt;
Does each account start with it's account number?&lt;BR /&gt;
Assuming "yes" answers:[pre] data loaded( keep= MI004 AS000 PAY201 AS0101 XI900 XI920 ) ;&lt;BR /&gt;
  length  MI004 $10 as000 $8 pay201 8 as0101 $11 xi900 xi920 &lt;BR /&gt;
          FNAME $8 ; &lt;BR /&gt;
  retain MI004 ;&lt;BR /&gt;
  infile datalines  col=col eof= eod truncover ; &lt;BR /&gt;
  do until( fname= 'MI004' ) ;&lt;BR /&gt;
     input fname @ ;&lt;BR /&gt;
     select (fname) ;&lt;BR /&gt;
       when ( 'AS000' ) input as000  &amp;amp;;&lt;BR /&gt;
       when ( 'PAY201') input pay201 &amp;amp;;&lt;BR /&gt;
       when ( 'AS0101') input as0101 &amp;amp;;&lt;BR /&gt;
       when ( 'XI900' ) input xi900  &amp;amp;;&lt;BR /&gt;
       when ( 'XI920' ) input xi920  &amp;amp;;&lt;BR /&gt;
       when ( 'MI004' )   ; * save it for later ;&lt;BR /&gt;
       otherwise input ;  * ignoring line ;&lt;BR /&gt;
     end ; * of select group ;&lt;BR /&gt;
  end ;&lt;BR /&gt;
  if not missing( mi004 ) then output ;&lt;BR /&gt;
  if fname= 'MI004' then input mi004 ; * unless at EOF ;&lt;BR /&gt;
 return ;&lt;BR /&gt;
  eod: &lt;BR /&gt;
     output ;&lt;BR /&gt;
datalines ;&lt;BR /&gt;
MI004 100002456 &lt;BR /&gt;
AS000 &lt;BR /&gt;
PAY201 234.00 &lt;BR /&gt;
MI004 10003444 &lt;BR /&gt;
AS000 APR 5.5 &lt;BR /&gt;
AS010 Conventional &lt;BR /&gt;
MI004 100008976 &lt;BR /&gt;
XI900 X &lt;BR /&gt;
XI920 YES &lt;BR /&gt;
AS000 APR 1.1 &lt;BR /&gt;
;[/pre]That worked when I tested on win-XP in SAS9.1.3&lt;BR /&gt;
&lt;BR /&gt;
good luck&lt;BR /&gt;
&lt;BR /&gt;
PeterC</description>
      <pubDate>Tue, 10 Feb 2009 11:57:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Changing-a-SAS-data-value-to-a-Var-name/m-p/73296#M15766</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2009-02-10T11:57:59Z</dc:date>
    </item>
  </channel>
</rss>

