<?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: Transposing Delimited Data in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Transposing-Delimited-Data/m-p/939689#M42210</link>
    <description>&lt;P&gt;This worked perfectly!&amp;nbsp; Thank you so much!&lt;/P&gt;</description>
    <pubDate>Fri, 16 Aug 2024 18:55:22 GMT</pubDate>
    <dc:creator>Ae204</dc:creator>
    <dc:date>2024-08-16T18:55:22Z</dc:date>
    <item>
      <title>Transposing Delimited Data</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Transposing-Delimited-Data/m-p/939653#M42208</link>
      <description>&lt;P&gt;I am new to manipulating data with SAS.&amp;nbsp; I have a file with several field delimited with a semi-colon.&amp;nbsp; However, I need to make them separate rows.&amp;nbsp; Examples of how the data is currently set up and what I want it to look like are as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data have:&lt;/P&gt;&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; Var1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Var1Count&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc; bde; cf&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1; 2; 5&lt;BR /&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x; yz&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3; 1&lt;BR /&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a; x&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2; 7&lt;BR /&gt;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cf; bdx; yz&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6; 3; 2&lt;BR /&gt;5&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;BR /&gt;6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x&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; 1&lt;BR /&gt;7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;abc&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;BR /&gt;8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xz; adk&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2; 8&lt;BR /&gt;9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a&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; 3&lt;BR /&gt;10&amp;nbsp; &amp;nbsp; &amp;nbsp;bc; bd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data want:&lt;/P&gt;&lt;P&gt;ID&amp;nbsp; &amp;nbsp; Var1&amp;nbsp; &amp;nbsp; &amp;nbsp;Var1Count&lt;BR /&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; abc&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;BR /&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; bde &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;BR /&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp;cf &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&lt;BR /&gt;2 &amp;nbsp; &amp;nbsp; x &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;BR /&gt;2 &amp;nbsp; &amp;nbsp; yz &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;BR /&gt;3 &amp;nbsp; &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;BR /&gt;3 &amp;nbsp; &amp;nbsp; x &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&lt;BR /&gt;4 &amp;nbsp; &amp;nbsp; cf &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6&lt;BR /&gt;4 &amp;nbsp; &amp;nbsp; bdx &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;BR /&gt;4 &amp;nbsp; &amp;nbsp; yz &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;BR /&gt;5 &amp;nbsp; &amp;nbsp; . &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;BR /&gt;6 &amp;nbsp; &amp;nbsp; x &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;BR /&gt;7 &amp;nbsp; &amp;nbsp; abc &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;BR /&gt;8 &amp;nbsp; &amp;nbsp; xz &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;BR /&gt;8 &amp;nbsp; &amp;nbsp; adk &amp;nbsp; &amp;nbsp; &amp;nbsp; 8&lt;BR /&gt;9 &amp;nbsp; &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;BR /&gt;10 &amp;nbsp; bc&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;BR /&gt;10 &amp;nbsp; bd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Some of the "Var 1" values between the delimiters are are long (I counted 61 characters for the longest) and there are many for each (12 is the largest, but in future data pulls there could be more and I don't have a sense of what the upper limit would be).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think I want to use some combination of count and/or transpose, but I have found anything that works quite how I would like it to. Any suggestions on how to do this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance for your assistance!&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2024 16:03:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Transposing-Delimited-Data/m-p/939653#M42208</guid>
      <dc:creator>Ae204</dc:creator>
      <dc:date>2024-08-16T16:03:37Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing Delimited Data</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Transposing-Delimited-Data/m-p/939656#M42209</link>
      <description>&lt;P&gt;Use COUNTW().&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First let's convert your listing into an actual dataset.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input ID Var1 :$40. Var1Count :$20.;
cards4;
 1 abc;bde;cf 1;2;5
 2 x;yz       3;1
 3 a;x        2;7
 4 cf;bdx;yz  6;3;2
 5 .          .
 6 x          1
 7 abc        3
 8 xz;adk     2;8
 9 a          3
10 bc;bd      2;1
;;;;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You will need to decide how long to make the NEW var1 variable.&amp;nbsp; For this example let's set the old one to length $40 and the new on to $20.&amp;nbsp; Let's make the new count variable numeric instead of character.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now just use a DO loop to output each pair of values.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  length _var1 $20 count 8 ;
  do index=1 to countw(var1,';');
    _var1 = scan(var1,index,';');
    count = input(scan(var1count,index,';'),32.);
    output;
  end;
  keep id _var1 count;
  rename _var1=Var1 count=Var1Count ;
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="Tom_0-1723826079980.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/99366iAB540B1F07C2827C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Tom_0-1723826079980.png" alt="Tom_0-1723826079980.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;If your original string actually have those extra spaces after the semicolons then you will probably want to add in a LEFT() function call to remove them.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;    _var1 = left(scan(var1,index,';'));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You might want to also keep the INDEX variable so you know the original order the values were in inside the character strings.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2024 16:38:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Transposing-Delimited-Data/m-p/939656#M42209</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2024-08-16T16:38:43Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing Delimited Data</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Transposing-Delimited-Data/m-p/939689#M42210</link>
      <description>&lt;P&gt;This worked perfectly!&amp;nbsp; Thank you so much!&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2024 18:55:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Transposing-Delimited-Data/m-p/939689#M42210</guid>
      <dc:creator>Ae204</dc:creator>
      <dc:date>2024-08-16T18:55:22Z</dc:date>
    </item>
  </channel>
</rss>

