<?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 Read Master data code from Master table in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361868#M85411</link>
    <description>&lt;P&gt;Did you run the solution above? It creates the formats for all you just need to apply them. It doesn't matter how many vars are there ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It really is the most efficient way.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could transpose but you'll have to make sure to separate character and numeric variables.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 26 May 2017 06:10:37 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2017-05-26T06:10:37Z</dc:date>
    <item>
      <title>how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361851#M85398</link>
      <description>&lt;P&gt;Hello Expert,&lt;/P&gt;&lt;P&gt;I am stuck in a logic to read master data value from Master table where all codes and description value are available.&lt;BR /&gt;I have a Source Data Set "&lt;STRONG&gt;HAVE"&lt;/STRONG&gt; having 4 columns value (dynamic column name )&lt;/P&gt;&lt;P&gt;ID is a primary key and rest all columns are dimesion column for it, it store all codes for it, but I need to read the code and lookup in to Master table which store all information about &lt;STRONG&gt;text&lt;/STRONG&gt; and &lt;STRONG&gt;M_cd.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Source table :- have :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input Id $ gender_cd $ martial_status $ currency_cd $ ;&lt;BR /&gt;datalines;&lt;BR /&gt;1 M 0 10&lt;BR /&gt;2 V 1 20&lt;BR /&gt;3 G 2 30&lt;BR /&gt;4 M 1 20&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/9074i34942CCB655A209B/image-size/original?v=1.0&amp;amp;px=-1" border="0" alt="s.JPG" title="s.JPG" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Master table : Master&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data master;&lt;BR /&gt;length column $14.;&lt;BR /&gt;input column $ text $ m_cd $;&lt;BR /&gt;datalines;&lt;BR /&gt;Gender_cd M 1&lt;BR /&gt;Gender_cd V 2&lt;BR /&gt;Gender_cd G 4&lt;BR /&gt;Martial_status 0 bachlor&lt;BR /&gt;Martial_status 1 single&lt;BR /&gt;martial_status 2 married&lt;BR /&gt;currency_cd 10 USD&lt;BR /&gt;Currency_CD 20 INR&lt;BR /&gt;Currecny_CD 30 AUD&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/9075iF498439D1534BF20/image-size/original?v=1.0&amp;amp;px=-1" border="0" alt="m.JPG" title="m.JPG" /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;U&gt;&lt;STRONG&gt;Explaination :&lt;/STRONG&gt;&lt;/U&gt; In Source table Have, I want to see my data like Gender_CD , Martial_Status, Currency_CD, should be check from Master table and respective value should be populate.&lt;/P&gt;&lt;P&gt;Example- Suppose I have a source table&amp;nbsp;&lt;STRONG&gt;HAVE, COlumn name (Gender_CD) ,&amp;nbsp;&lt;/STRONG&gt;value&amp;nbsp;&lt;STRONG&gt;"M"&amp;nbsp;&lt;/STRONG&gt;it should check the value in master table.&lt;/P&gt;&lt;P&gt;Now We will check in Master table, So first it should check Gender_CD value in master table and then it should jump in&amp;nbsp;&lt;STRONG&gt;"M"&amp;nbsp;&lt;/STRONG&gt;and then it should read its respective Master data value&amp;nbsp;&lt;STRONG&gt;(M_CD) (1).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Same thing it should do, First check the rest all the vlaue and Column name = Column value from master then it should jump on Text column and then it should pick&amp;nbsp;&lt;STRONG&gt;"M_CD" value.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Output Below I am expecting :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/9076i7ECCAC32E6DD5E9D/image-size/original?v=1.0&amp;amp;px=-1" border="0" alt="o.JPG" title="o.JPG" /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thanks in advance.&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 03:56:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361851#M85398</guid>
      <dc:creator>Riteshdell</dc:creator>
      <dc:date>2017-05-26T03:56:20Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361862#M85405</link>
      <description>&lt;P&gt;What you want can be easily done by creating formats from the master file. e.g.:&lt;/P&gt;
&lt;PRE&gt;data for4mat;
  set master (rename=(column=fmtname text=start m_cd=label));
  fmtname=catt('$',lowcase(substr(fmtname,1,3)));
  type='C';
run;

proc sort data=for4mat;
  by fmtname start;
run;

proc format cntlin = for4mat;
run;

data want;
  set have;
  format gender_cd $gen.;
  format martial_status $mar.;
  format currency_cd $cur.;
run;

proc print data=want;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 05:22:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361862#M85405</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-05-26T05:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361865#M85408</link>
      <description>&lt;P&gt;Thanks Art297, for the solution by proc format.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But Soure I have many column like some time more than 150 columns (dynamic).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How it will be fessible to write format for every one, My intention was to lookup in to master table and take refrence of data and take code value for it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will really appreciate if you can help me with this method.&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 05:55:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361865#M85408</guid>
      <dc:creator>Riteshdell</dc:creator>
      <dc:date>2017-05-26T05:55:53Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361866#M85409</link>
      <description>&lt;P&gt;1. You can create a format from a dataset. It is via code - one data step.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Use 150 left joins and you have to write those out manually&lt;/P&gt;
&lt;P&gt;3. Load into a temporary array&lt;/P&gt;
&lt;P&gt;4. Hash tables&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5. Some sort of macro.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Still want option 2?&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 06:02:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361866#M85409</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-05-26T06:02:45Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361867#M85410</link>
      <description>&lt;P&gt;Hello &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;- taking 150 joins , it will be huge task.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IS there any way like can we transpose master table and then lookup to master_transpose table from source one.?&lt;/P&gt;&lt;P&gt;i dont know how much I correct ot not.,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help.&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 06:06:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361867#M85410</guid>
      <dc:creator>Riteshdell</dc:creator>
      <dc:date>2017-05-26T06:06:12Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361868#M85411</link>
      <description>&lt;P&gt;Did you run the solution above? It creates the formats for all you just need to apply them. It doesn't matter how many vars are there ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It really is the most efficient way.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could transpose but you'll have to make sure to separate character and numeric variables.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 06:10:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361868#M85411</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-05-26T06:10:37Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361888#M85424</link>
      <description>&lt;P&gt;I maintain a system with &amp;gt; 150 lookup formats in it, all automatically generated from datasets. I'm literally saving hundreds of lines of code by doing so. I agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;, formats are the best option.&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 07:20:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361888#M85424</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2017-05-26T07:20:33Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361907#M85431</link>
      <description>&lt;P&gt;OK, I trust you attempted all the well laid out guidelines of Reeza. Here is the Hash solution. Depending on the data types of variables in your HAVE dataset, you should be able to make slight adjustments because my testing is limited to using only your sample.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; have;&lt;/P&gt;&lt;P&gt;input Id $ gender_cd $ martial_status $ currency_cd $ ;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1 M 0 10&lt;/P&gt;&lt;P&gt;2 V 1 20&lt;/P&gt;&lt;P&gt;3 G 2 30&lt;/P&gt;&lt;P&gt;4 M 1 20&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; master;&lt;/P&gt;&lt;P&gt;length column $14.;&lt;/P&gt;&lt;P&gt;input column $ text $ m_cd $;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;Gender_cd M 1&lt;/P&gt;&lt;P&gt;Gender_cd V 2&lt;/P&gt;&lt;P&gt;Gender_cd G 4&lt;/P&gt;&lt;P&gt;Martial_status 0 bachlor&lt;/P&gt;&lt;P&gt;Martial_status 1 single&lt;/P&gt;&lt;P&gt;martial_status 2 married&lt;/P&gt;&lt;P&gt;currency_cd 10 USD&lt;/P&gt;&lt;P&gt;Currency_CD 20 INR&lt;/P&gt;&lt;P&gt;Currecny_CD 30 AUD&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _N_ = &lt;STRONG&gt;1&lt;/STRONG&gt; then&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; do;&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;&amp;nbsp; if &lt;STRONG&gt;0&lt;/STRONG&gt; then do;&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;&amp;nbsp; set have;&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;&amp;nbsp; set master(keep=text m_cd);&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;&amp;nbsp; end;&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;&amp;nbsp; declare hash myhash(dataset:'master(keep=text m_cd)',multidata:'yes' );&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;&amp;nbsp; rc = myhash.defineKey('text');&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;&amp;nbsp; rc = myhash.defineData('m_cd');&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;&amp;nbsp; rc = myhash.defineDone( );&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; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&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 list(*) gender_cd--currency_cd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;do _n_=&lt;STRONG&gt;1&lt;/STRONG&gt; to dim(list);&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; rc_temp=list(_n_);&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; if myhash.find(key:rc_temp)=&lt;STRONG&gt;0&lt;/STRONG&gt; then&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;&amp;nbsp; list(_n_)=m_cd;&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; else call missing(m_cd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop rc: m_cd text;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Naveen Srinivasan&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 09:15:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361907#M85431</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-05-26T09:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361943#M85445</link>
      <description>&lt;P&gt;The proc format code looks like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Id $ gender_cd $ marital_status $ currency_cd $ ;
datalines;
1 M 0 10
2 V 1 20
3 G 2 30
4 M 1 20
;
run;

data master;
length column $14.;
input column $ text $ m_cd $;
datalines;
gender_cd M 1
gender_cd V 2
gender_cd G 4
marital_status 0 bachlor
marital_status 1 single
marital_status 2 married
currency_cd 10 USD
currency_cd 20 INR
currency_cd 30 AUD
;
run;

data cntlin;
set master (
  rename=(
    column=fmtname
    text=start
    m_cd=label
  )
);
type = 'C';
run;

proc format library=work cntlin=cntlin;
run;

proc sort
  data=master (keep=column)
  out=columns
  nodupkey
;
by column;
run;

data _null_;
call execute('data want; set have (rename=(');
do until (eof1);
  set columns end=eof1;
  call execute(trim(column)!!'=_'!!trim(column)!! ' ');
end;
call execute('));');
do until (eof2);
  set columns end=eof2;
  call execute(trim(column)!!'=put(_'!!trim(column)!!',$'!!trim(column)!!'.);');
  call execute('drop _'!!trim(column)!!';');
end;
call execute('run;');
stop;
run;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;      currency_    gender_    marital_
Id       cd          cd        status

1        USD          1       bachlor 
2        INR          2       single  
3        AUD          4       married 
4        INR          1       single  
&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 May 2017 12:46:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361943#M85445</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-05-26T12:46:25Z</dc:date>
    </item>
    <item>
      <title>Re: how to Read Master data code from Master table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361957#M85450</link>
      <description>&lt;P&gt;Formats are the way to go here.&lt;/P&gt;
&lt;P&gt;But if you did want to tyr to "join" the two then you should first transpose the HAVE data to a tall-skinny (name-value) format. Then you can join the two tables. You could then tranpose it back.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input Id $ gender_cd $ martial_status $ currency_cd $ ;
datalines;
1 M 0 10
2 V 1 20
3 G 2 30
4 M 1 20
;
 
data master;
  input column :$14. text $ m_cd $;
datalines;
Gender_cd M 1
Gender_cd V 2
Gender_cd G 4
Martial_status 0 bachlor
Martial_status 1 single
martial_status 2 married
currency_cd 10 USD
Currency_CD 20 INR
Currency_CD 30 AUD
;

proc transpose data=have name=column out=tall1 (where=(upcase(column) ne 'ID')) ;
  by id ;
  var _all_ ;
run;

proc sql ;
  create table tall2 as
  select a.id,a.column,a.col1,b.m_cd 
  from tall1 a 
  left join master b
  on upcase(a.column) = upcase(b.column) and strip(a.col1)=strip(b.text)
  order by 1,2
  ;
quit;
proc transpose data=tall2 out=want(drop=_name_) ;
  by id;
  id column;
  var m_cd ;
run;
proc print data=have; title 'have'; run;
proc print data=master; title 'master'; run;
proc print data=tall1; title 'tall1'; run;
proc print data=tall2; title 'tall2'; run;
proc print data=want; title 'want'; run;
title;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 May 2017 13:47:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-Read-Master-data-code-from-Master-table/m-p/361957#M85450</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-05-26T13:47:28Z</dc:date>
    </item>
  </channel>
</rss>

