<?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 trade off to save variable space? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129721#M260530</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Actually, I think in many cases, having datasets compressed actually speeds up processing in that it increases CPU processing but decreases IO processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#sasperf.htm" title="http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#sasperf.htm"&gt;SAS(R) 9.2 Companion for Windows, Second Edition&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 07 Mar 2013 18:28:46 GMT</pubDate>
    <dc:creator>DBailey</dc:creator>
    <dc:date>2013-03-07T18:28:46Z</dc:date>
    <item>
      <title>How to trade off to save variable space?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129717#M260526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there is variable with varying length, and i wanna assign with a length statement.However when while reading the source file, if SAS encounters a smaller length value, this would compromise a lot of space. Is there a way to trade off by stating an option ?&lt;/P&gt;&lt;P&gt;I trust this question may have been asked before by somebody else, but I was unsuccessful in my search for the option so far. Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Mar 2013 13:30:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129717#M260526</guid>
      <dc:creator>MarkWik</dc:creator>
      <dc:date>2013-03-07T13:30:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to trade off to save variable space?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129718#M260527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If I understand correctly, you are wondering if having a SAS variable defined at a certain length will waste space, for example:&lt;/P&gt;&lt;P&gt;Data temp ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length FirstName $20 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FirstName = 'Joe1' ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FirstName = 'Joe2&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FirstName = 'Joe3&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FirstName = TRIM(FirstName) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output ;&lt;/P&gt;&lt;P&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is my understanding that only 4 bytes will be used to store 'Joe1', not 30.&amp;nbsp; If you have trailing blanks, they will be saved.&amp;nbsp; If you don't want trailing blanks, you can use TRIM() to remove both leading and trailing blanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Carla Wilson (accidentally submitted before I was done typing.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually, I did a little more investigating.&lt;/P&gt;&lt;P&gt;Here is a SAS link about saving space by using the length statement on numeric variables:&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/hosto390/61886/HTML/default/viewer.htm#mvs-length-length.htm"&gt;http://support.sas.com/documentation/cdl/en/hosto390/61886/HTML/default/viewer.htm#mvs-length-length.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a link for saving space with character variables:&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/basess/58133/HTML/default/viewer.htm#a001336082.htm"&gt;http://support.sas.com/documentation/cdl/en/basess/58133/HTML/default/viewer.htm#a001336082.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Mar 2013 14:42:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129718#M260527</guid>
      <dc:creator>cwilson</dc:creator>
      <dc:date>2013-03-07T14:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to trade off to save variable space?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129719#M260528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use the data set option COMPRESS=YES.&amp;nbsp; SAS will still store the blanks, but when it writes the observations to the disk the compression algorithm will do a very good job of eliminating the blanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data cars (compress=yes);&lt;/P&gt;&lt;P&gt; set sashelp.cars;&lt;/P&gt;&lt;P&gt; length longvar $400 ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 428 observations read from the data set SASHELP.CARS.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.CARS has 428 observations and 16 variables.&lt;/P&gt;&lt;P&gt;NOTE: Compressing data set WORK.CARS decreased size by 60.00 percent.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Compressed is 4 pages; un-compressed would require 10 pages.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Mar 2013 14:55:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129719#M260528</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2013-03-07T14:55:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to trade off to save variable space?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129720#M260529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you are looking for a field that is equivalent to a VarChar field in Teradata or db2, I do not think that SAS has one.&amp;nbsp; Compressing the data file will work, but will give you a bit of degradation in performance/speed of processing.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Mar 2013 16:56:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129720#M260529</guid>
      <dc:creator>djmangen</dc:creator>
      <dc:date>2013-03-07T16:56:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to trade off to save variable space?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129721#M260530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Actually, I think in many cases, having datasets compressed actually speeds up processing in that it increases CPU processing but decreases IO processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#sasperf.htm" title="http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#sasperf.htm"&gt;SAS(R) 9.2 Companion for Windows, Second Edition&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Mar 2013 18:28:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129721#M260530</guid>
      <dc:creator>DBailey</dc:creator>
      <dc:date>2013-03-07T18:28:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to trade off to save variable space?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129722#M260531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, I am clearly wrong in thinking that string variables are stored with a variable number of bytes.&amp;nbsp; I ran a quick test to demonstrate.&amp;nbsp; (So, I learned something new today.) &lt;/P&gt;&lt;P&gt;No, I don't know of a VARCHAR(n) equivalent, but maybe that would be a good thing to suggest to SAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test_string3_val3 ;&lt;BR /&gt; length teststring $3 ;&lt;BR /&gt; do i = 1 to 10000 ;&lt;BR /&gt;&amp;nbsp; teststring = 'Joe' ;&lt;BR /&gt;&amp;nbsp; output ;&lt;BR /&gt; end ;&lt;BR /&gt; drop i ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;data test_string399_val3 ;&lt;BR /&gt; length teststring $399 ;&lt;BR /&gt; teststring = 'Joe' ;&lt;BR /&gt; do i = 1 to 10000 ;&lt;BR /&gt;&amp;nbsp; output ;&lt;BR /&gt; end ;&lt;BR /&gt; drop i ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;data test_string399_val399 ;&lt;BR /&gt; length teststring $399 ;&lt;BR /&gt; do i = 1 to 399 by 3 ;&lt;BR /&gt;&amp;nbsp; teststring = 'Joe' || trim(teststring) ;&lt;BR /&gt; end ;&lt;BR /&gt; lentest = length(teststring) ;&lt;BR /&gt; put "Length(teststring) = " lentest ;&lt;BR /&gt; do i = 1 to 10000 ;&lt;BR /&gt;&amp;nbsp; output ;&lt;BR /&gt; end ;&lt;BR /&gt; drop i ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;data test_string399_val399_compressed compress=yes ;&lt;BR /&gt; set test_string399_val399 ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc datasets ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RESULTS:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;# Name&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;&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;&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;&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; Type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Last Modified&lt;/P&gt;&lt;P&gt;2 TEST_STRING399_VAL3&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;&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; DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4113408&amp;nbsp;&amp;nbsp;&amp;nbsp; 07Mar13:11:11:34&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3 TEST_STRING399_VAL399&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4113408&amp;nbsp;&amp;nbsp;&amp;nbsp; 07Mar13:11:13:23&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4 TEST_STRING399_VAL399_COMPRESSED DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17408&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07Mar13:11:17:28&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5 TEST_STRING3_VAL3&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 33792&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07Mar13:11:11:34&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Mar 2013 18:30:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-trade-off-to-save-variable-space/m-p/129722#M260531</guid>
      <dc:creator>cwilson</dc:creator>
      <dc:date>2013-03-07T18:30:30Z</dc:date>
    </item>
  </channel>
</rss>

