<?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 Altering var values across the entire dataset in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163670#M42441</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a dataset dsEvents which contains multiple variables/attributes of the same value domain. I would like to change these values to arbitrary ranking numbers.&lt;/P&gt;&lt;P&gt;Consider the dataset:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14156287328298753" jivemacro_uid="_14156287328298753"&gt;
&lt;P&gt;data dsEvents;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input ID e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 077123 A A4 B I1 L L U8 A E2 A3 W5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 622941 B B B2 L L5 C9 E1 A L Q D9;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2452 E E B A4 B2 O C L Q D9 W2;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to swap these values to numbers according to some arbitrary ranking system:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14156287425338404" jivemacro_uid="_14156287425338404"&gt;
&lt;P&gt;A = -1&lt;/P&gt;
&lt;P&gt;A4 = 0&lt;/P&gt;
&lt;P&gt;L = 0&lt;/P&gt;
&lt;P&gt;W5 = 22&lt;/P&gt;
&lt;P&gt;B = 2&lt;/P&gt;
&lt;P&gt;E = 3&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;...etc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yielding as a result (removed latter attributes for brevity)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14156287242064252" jivemacro_uid="_14156287242064252"&gt;
&lt;P&gt;data dsRanking;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input ID e1 e2 ...;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 077123 -1 0 ...;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 622941 2 2 ...;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2452 3 3 ...;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My current understanding is to use a regexp prxchange(s///g) for every var and for every possible value. This is a lot.&lt;/P&gt;&lt;P&gt;Thus, I ask for your assistance in finding a better way. Keep in mind that &lt;EM&gt;every &lt;/EM&gt;value can appear in &lt;EM&gt;every &lt;/EM&gt;variable/attribute. There are about 16 possible values, and up to 50 variables/attributes.&lt;/P&gt;&lt;P&gt;Any idea how to solve this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Nov 2014 14:06:17 GMT</pubDate>
    <dc:creator>Dess</dc:creator>
    <dc:date>2014-11-10T14:06:17Z</dc:date>
    <item>
      <title>Altering var values across the entire dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163670#M42441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a dataset dsEvents which contains multiple variables/attributes of the same value domain. I would like to change these values to arbitrary ranking numbers.&lt;/P&gt;&lt;P&gt;Consider the dataset:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14156287328298753" jivemacro_uid="_14156287328298753"&gt;
&lt;P&gt;data dsEvents;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input ID e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 077123 A A4 B I1 L L U8 A E2 A3 W5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 622941 B B B2 L L5 C9 E1 A L Q D9;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2452 E E B A4 B2 O C L Q D9 W2;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to swap these values to numbers according to some arbitrary ranking system:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14156287425338404" jivemacro_uid="_14156287425338404"&gt;
&lt;P&gt;A = -1&lt;/P&gt;
&lt;P&gt;A4 = 0&lt;/P&gt;
&lt;P&gt;L = 0&lt;/P&gt;
&lt;P&gt;W5 = 22&lt;/P&gt;
&lt;P&gt;B = 2&lt;/P&gt;
&lt;P&gt;E = 3&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;...etc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yielding as a result (removed latter attributes for brevity)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14156287242064252" jivemacro_uid="_14156287242064252"&gt;
&lt;P&gt;data dsRanking;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input ID e1 e2 ...;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 077123 -1 0 ...;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 622941 2 2 ...;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2452 3 3 ...;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My current understanding is to use a regexp prxchange(s///g) for every var and for every possible value. This is a lot.&lt;/P&gt;&lt;P&gt;Thus, I ask for your assistance in finding a better way. Keep in mind that &lt;EM&gt;every &lt;/EM&gt;value can appear in &lt;EM&gt;every &lt;/EM&gt;variable/attribute. There are about 16 possible values, and up to 50 variables/attributes.&lt;/P&gt;&lt;P&gt;Any idea how to solve this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Nov 2014 14:06:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163670#M42441</guid>
      <dc:creator>Dess</dc:creator>
      <dc:date>2014-11-10T14:06:17Z</dc:date>
    </item>
    <item>
      <title>Re: Altering var values across the entire dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163671#M42442</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could use an array, and a select:&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array e{11};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do I=1 to 11;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select(e{I});&lt;/P&gt;&lt;P&gt;&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; when ('A') e{I}='1';&lt;/P&gt;&lt;P&gt;&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; when ('A4' e{I}='0';&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its pretty clean.&amp;nbsp; Alternatively put your conditions in a table then use merging techniques to merge the lookup table onto your data and replace. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Nov 2014 14:16:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163671#M42442</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-11-10T14:16:55Z</dc:date>
    </item>
    <item>
      <title>Re: Altering var values across the entire dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163672#M42443</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why not use proc format + cntlin&amp;nbsp; to make a informat ? or Hash Table easy?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Nov 2014 14:46:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163672#M42443</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-11-10T14:46:28Z</dc:date>
    </item>
    <item>
      <title>Re: Altering var values across the entire dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163673#M42444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you. This worked like a charm straight away, not even a typo.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Nov 2014 11:09:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Altering-var-values-across-the-entire-dataset/m-p/163673#M42444</guid>
      <dc:creator>Dess</dc:creator>
      <dc:date>2014-11-14T11:09:49Z</dc:date>
    </item>
  </channel>
</rss>

