<?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 How to retrieve value of variable based on variable value name in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-retrieve-value-of-variable-based-on-variable-value-name/m-p/729412#M226973</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;My dataset looks like this. I have an array&amp;nbsp; named da that contains 5 variables, and i want to retrieve a value of variable name from array, based on variable value(varname variable) and return probability(prob).&lt;/P&gt;&lt;P&gt;For example,&lt;/P&gt;&lt;P&gt;For the first row, the probability for variable da1 variable is 0.1.&lt;/P&gt;&lt;P&gt;For the second row, the probability for variable da10 variable is 0.&lt;/P&gt;&lt;P&gt;For the third row, the probability for variable da5 variable is 0.9.&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Id&lt;/TD&gt;&lt;TD&gt;da1&lt;/TD&gt;&lt;TD&gt;da2&lt;/TD&gt;&lt;TD&gt;da3&lt;/TD&gt;&lt;TD&gt;da5&lt;/TD&gt;&lt;TD&gt;da10&lt;/TD&gt;&lt;TD&gt;varname&lt;/TD&gt;&lt;TD&gt;prob&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0.1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;0.2&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;0.15&lt;/TD&gt;&lt;TD&gt;0.15&lt;/TD&gt;&lt;TD&gt;da1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0.2&lt;/TD&gt;&lt;TD&gt;0.6&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;da10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0.9&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;da5&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Alexey&lt;/P&gt;</description>
    <pubDate>Fri, 26 Mar 2021 15:15:20 GMT</pubDate>
    <dc:creator>AlexeyS</dc:creator>
    <dc:date>2021-03-26T15:15:20Z</dc:date>
    <item>
      <title>How to retrieve value of variable based on variable value name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-retrieve-value-of-variable-based-on-variable-value-name/m-p/729412#M226973</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;My dataset looks like this. I have an array&amp;nbsp; named da that contains 5 variables, and i want to retrieve a value of variable name from array, based on variable value(varname variable) and return probability(prob).&lt;/P&gt;&lt;P&gt;For example,&lt;/P&gt;&lt;P&gt;For the first row, the probability for variable da1 variable is 0.1.&lt;/P&gt;&lt;P&gt;For the second row, the probability for variable da10 variable is 0.&lt;/P&gt;&lt;P&gt;For the third row, the probability for variable da5 variable is 0.9.&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Id&lt;/TD&gt;&lt;TD&gt;da1&lt;/TD&gt;&lt;TD&gt;da2&lt;/TD&gt;&lt;TD&gt;da3&lt;/TD&gt;&lt;TD&gt;da5&lt;/TD&gt;&lt;TD&gt;da10&lt;/TD&gt;&lt;TD&gt;varname&lt;/TD&gt;&lt;TD&gt;prob&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0.1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;0.2&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;0.15&lt;/TD&gt;&lt;TD&gt;0.15&lt;/TD&gt;&lt;TD&gt;da1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0.2&lt;/TD&gt;&lt;TD&gt;0.6&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;da10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0.9&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;da5&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Alexey&lt;/P&gt;</description>
      <pubDate>Fri, 26 Mar 2021 15:15:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-retrieve-value-of-variable-based-on-variable-value-name/m-p/729412#M226973</guid>
      <dc:creator>AlexeyS</dc:creator>
      <dc:date>2021-03-26T15:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve value of variable based on variable value name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-retrieve-value-of-variable-based-on-variable-value-name/m-p/729419#M226975</link>
      <description>&lt;P&gt;Use the VVALUEX() function. &lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;prob = vvaluex(varname);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Small catch - it returns a character value, the formatted displayed value, by default so you'll need to convert it to numeric if required.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/42503"&gt;@AlexeyS&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;My dataset looks like this. I have an array&amp;nbsp; named da that contains 5 variables, and i want to retrieve a value of variable name from array, based on variable value(varname variable) and return probability(prob).&lt;/P&gt;
&lt;P&gt;For example,&lt;/P&gt;
&lt;P&gt;For the first row, the probability for variable da1 variable is 0.1.&lt;/P&gt;
&lt;P&gt;For the second row, the probability for variable da10 variable is 0.&lt;/P&gt;
&lt;P&gt;For the third row, the probability for variable da5 variable is 0.9.&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Id&lt;/TD&gt;
&lt;TD&gt;da1&lt;/TD&gt;
&lt;TD&gt;da2&lt;/TD&gt;
&lt;TD&gt;da3&lt;/TD&gt;
&lt;TD&gt;da5&lt;/TD&gt;
&lt;TD&gt;da10&lt;/TD&gt;
&lt;TD&gt;varname&lt;/TD&gt;
&lt;TD&gt;prob&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0.1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD&gt;0.15&lt;/TD&gt;
&lt;TD&gt;0.15&lt;/TD&gt;
&lt;TD&gt;da1&lt;/TD&gt;
&lt;TD&gt;0.1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.1&lt;/TD&gt;
&lt;TD&gt;0.1&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;da10&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0.1&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#99CC00"&gt;0.9&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;da5&lt;/TD&gt;
&lt;TD&gt;0.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;Alexey&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Mar 2021 15:21:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-retrieve-value-of-variable-based-on-variable-value-name/m-p/729419#M226975</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-03-26T15:21:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve value of variable based on variable value name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-retrieve-value-of-variable-based-on-variable-value-name/m-p/729422#M226977</link>
      <description>&lt;P&gt;VVALUEX() will work, but it returns the formatted value, so the result is always character.&lt;/P&gt;
&lt;P&gt;If you want a numeric result you could use the INPUT() function, but you might lose some precision.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;prob=input(vvaluex(varname),32.);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;To get the actual value you might need to scan an array.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array da da1-da3 da5 da10 ;
prob=.;
do index=1 to dim(da) while (prob=.);
  if upcase(vname(da[index]))=upcase(varname) then prob=da[index];
end;
drop index;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;array.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Mar 2021 15:26:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-retrieve-value-of-variable-based-on-variable-value-name/m-p/729422#M226977</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-03-26T15:26:11Z</dc:date>
    </item>
  </channel>
</rss>

