<?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 find the value of a column present in multiple tables in SAS. The column name is same. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977101#M378428</link>
    <description>&lt;P&gt;I got nothing from LOG.&lt;/P&gt;
&lt;PRE&gt;1
2    data a;
3    input source_code : $40. b c;
4    cards;

NOTE: 数据集 WORK.A 有 2 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间（总处理时间）:
      实际时间          0.42 秒
      CPU 时间          0.06 秒


7    ;
8    run;
9    data b;
10   input source_code : $40. bb xxxx : $20.;
11   cards;

NOTE: 数据集 WORK.B 有 2 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间（总处理时间）:
      实际时间          0.00 秒
      CPU 时间          0.00 秒


14   ;
15   run;
16   data c;
17   input source_code : $40. bbbbbb;
18   cards;

NOTE: 数据集 WORK.C 有 2 个观测和 2 个变量。
NOTE: “DATA 语句”所用时间（总处理时间）:
      实际时间          0.02 秒
      CPU 时间          0.01 秒


21   ;
22   run;
23
24
25
26
27   %let library= work ;  *the library you need to search;
28   %let vname= source_code; *the variable in common you need to search;
29   %let string= KL ; *the string you need to search, it could be  uppercase or lowcase;
30
31   proc delete data=want;run;

WARNING: 文件“WORK.WANT.DATA”不存在。
NOTE: “PROCEDURE DELETE”所用时间（总处理时间）:
      实际时间          0.00 秒
      CPU 时间          0.00 秒


32   proc iml;
NOTE: 正在写入 HTML Body（主体）文件: sashtml.htm
NOTE: IML Ready
33   dsn="&amp;amp;library.."+datasets("&amp;amp;library.");
34   do i=1 to nrow(dsn);
35   use (dsn[i]);
36    read all var {&amp;amp;vname.} into x;
37    flag=(upcase(x)="%upcase(&amp;amp;string)");
38    if any(flag=1) then do;
39      loc=loc(flag);
40      obs=obs//t(loc);
41      table=table//repeat(dsn[i],ncol(loc));
42    end;
43   close (dsn[i]);
44   end;
45   create want var {table  obs};
46   append;
47   close;
NOTE: Closing WORK.WANT
NOTE: 数据集 WORK.WANT 有 3 个观测和 2 个变量。
48   quit;
NOTE: Exiting IML.
NOTE: “PROCEDURE IML”所用时间（总处理时间）:
      实际时间          1.71 秒
      CPU 时间          0.31 秒


49
50   proc print noobs;run;

NOTE: 从数据集 WORK.WANT. 读取了 3 个观测
NOTE: “PROCEDURE PRINT”所用时间（总处理时间）:
      实际时间          0.08 秒
      CPU 时间          0.01 秒
&lt;/PRE&gt;
&lt;P&gt;But if you are using CAS engine or other engines ,not BASE engine. Could try this one (v9 engine). if it was still not work, then try Tom 's code .&lt;/P&gt;
&lt;PRE&gt;&lt;STRONG&gt;libname x &lt;FONT color="#FF0000"&gt;v9&lt;/FONT&gt; 'c:\temp\'; &lt;/STRONG&gt; 

data&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt; x.&lt;/FONT&gt;a&lt;/STRONG&gt;;
input source_code : $40. b c;
cards;
KL  1234567891 1234567891
wwrew 232442 343
;
run;
data x.b;
input source_code : $40. bb xxxx : $20.;
cards;
KL 233 2323
kl  1234567891 1234567891
;
run;
data x.c;
input source_code : $40. bbbbbb;
cards;
Thisaccount 1234567891
KLsaccount 1234567891 
;
run;




%let library= &lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;x&lt;/STRONG&gt; &lt;/FONT&gt;;  *the library you need to search;
%let vname= source_code; *the variable in common you need to search;
%let string= KL ; *the string you need to search, it could be  uppercase or lowcase;






proc delete data=want;run;
proc iml;
dsn="&amp;amp;library.."+datasets("&amp;amp;library.");
do i=1 to nrow(dsn);
use (dsn[i]);
 read all var {&amp;amp;vname.} into x;
 flag=(upcase(x)="%upcase(&amp;amp;string)"); 
 if any(flag=1) then do;
   loc=loc(flag); 
   obs=obs//t(loc);
   table=table//repeat(dsn[i],ncol(loc)); 
 end;
close (dsn[i]);
end;
create want var {table  obs};
append;
close;
quit;

proc print noobs;run;&lt;/PRE&gt;</description>
    <pubDate>Thu, 16 Oct 2025 03:10:51 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2025-10-16T03:10:51Z</dc:date>
    <item>
      <title>How To find the value of a column present in multiple tables in SAS. The column name is same.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977002#M378402</link>
      <description>&lt;P&gt;In Multiple Tables in the same schema, there is a same column source_code which has multiple values.&lt;/P&gt;&lt;P&gt;I want to find the tables name where same column source_code = 'KL'.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;table 1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;table 2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;y&lt;/TD&gt;&lt;TD&gt;source_code&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;z&lt;/TD&gt;&lt;TD&gt;f&lt;/TD&gt;&lt;TD&gt;source_code&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;LL&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;KL&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;table 3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;table 4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;s&lt;/TD&gt;&lt;TD&gt;g&lt;/TD&gt;&lt;TD&gt;source_code&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;v&lt;/TD&gt;&lt;TD&gt;n&lt;/TD&gt;&lt;TD&gt;source_code&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;KL&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;MO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 14 Oct 2025 19:21:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977002#M378402</guid>
      <dc:creator>Rhino84</dc:creator>
      <dc:date>2025-10-14T19:21:12Z</dc:date>
    </item>
    <item>
      <title>Re: How To find the value of a column present in multiple tables in SAS. The column name is same.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977005#M378403</link>
      <description>&lt;P&gt;So let's write some code that will do it for a couple of datasets (assuming that is what you meant by "table").&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   length dsn dataset $41 ;
   set table1(keep=source_code) table2(keep=source_code) indsname=dsn;
   where source_code = 'KL';
   if dsn ne lag(dsn);
   dataset=dsn;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now to automate this for a lot of datasets you could use PROC CONTENTS (or perhaps DICTIONARY.COLUMNS) to find the names of all of the datasets that have that variable.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc contents noprint data=mylib._all_ out=contents; run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then use the list to drive the code generation.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
  set contents end=eof;
  where upcase(name)='SOURCE_CODE';
  if _n_=1 then call execute('data want;length dsn dataset $41 ;  set');
  call execute(cats(libname,'.',memname,'(keep=source_code)'));
  if eof then call execute(' indsname=dsn;'
      || "where source_code = 'KL';if dsn ne lag(dsn);dataset=dsn;run;");
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Oct 2025 19:51:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977005#M378403</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2025-10-14T19:51:34Z</dc:date>
    </item>
    <item>
      <title>Re: How To find the value of a column present in multiple tables in SAS. The column name is same.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977029#M378407</link>
      <description>&lt;P&gt;If you have SAS/IML module, could try this one:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data a;
input source_code : $40. b c;
cards;
KL  1234567891 1234567891
wwrew 232442 343
;
run;
data b;
input source_code : $40. bb xxxx : $20.;
cards;
KL 233 2323
kl  1234567891 1234567891
;
run;
data c;
input source_code : $40. bbbbbb;
cards;
Thisaccount 1234567891
KLsaccount 1234567891 
;
run;




%let library= work ;  *the library you need to search;
%let vname= source_code; *the variable in common you need to search;
%let string= KL ; *the string you need to search, it could be  uppercase or lowcase;

proc delete data=want;run;
proc iml;
dsn="&amp;amp;library.."+datasets("&amp;amp;library.");
do i=1 to nrow(dsn);
use (dsn[i]);
 read all var {&amp;amp;vname.} into x;
 flag=(upcase(x)="%upcase(&amp;amp;string)"); 
 if any(flag=1) then do;
   loc=loc(flag); 
   obs=obs//t(loc);
   table=table//repeat(dsn[i],ncol(loc)); 
 end;
close (dsn[i]);
end;
create want var {table  obs};
append;
close;
quit;

proc print noobs;run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ksharp_1-1760513468227.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/110640i9F0451976D6A604B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ksharp_1-1760513468227.png" alt="Ksharp_1-1760513468227.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Oct 2025 07:31:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977029#M378407</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2025-10-15T07:31:17Z</dc:date>
    </item>
    <item>
      <title>Re: How To find the value of a column present in multiple tables in SAS. The column name is same.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977032#M378408</link>
      <description>&lt;P&gt;You could use the &lt;A href="https://github.com/SASPAC/baseplus/blob/main/baseplus.md" target="_self"&gt;BasePlus package&lt;/A&gt;'s macro &lt;STRONG&gt;&lt;A href="https://github.com/SASPAC/baseplus/blob/main/baseplus.md#finddswithvarval-macro-" target="_self"&gt;%findDSwithVarVal()&lt;/A&gt;&lt;/STRONG&gt; to get list of data sets with number of the firs obs. containing the value you need.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%loadPackage(BasePlus) 

libname ABC "/path/"; 

data ABC.a;
input source_code : $40. b c;
cards;
KL  1234567891 1234567891
wwrew 232442 343
;
run;
data ABC.b;
input source_code : $40. bb xxxx : $20.;
cards;
XX 233 2323
aa 233 2323
KL 233 2323
kl  1234567891 1234567891
;
run;
data ABC.c;
input source_code : $40. bbbbbb;
cards;
Thisaccount 1234567891
KLsaccount 1234567891 
;
run;

%findDSwithVarVal(source_code, KL, lib=abc, result=work.result)

proc print data=work.result;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Printout:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yabwon_0-1760520100019.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/110641i31560A958922D67F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="yabwon_0-1760520100019.png" alt="yabwon_0-1760520100019.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The macro search all data sets in a given lib and checks if the variable contains given value. Number of the first obs. with the value you search for is provided.&lt;/P&gt;
&lt;P&gt;There are other parameters to modify behavior of the %findDSwithVarVal() macro.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Wed, 15 Oct 2025 09:25:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977032#M378408</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2025-10-15T09:25:31Z</dc:date>
    </item>
    <item>
      <title>Re: How To find the value of a column present in multiple tables in SAS. The column name is same.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977060#M378417</link>
      <description>&lt;P&gt;i GET THIS ERROR MESSAGE.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: File PCRDATA.AC_ANLYS_AR.DATA is sequential. This task requires reading observations in a random order, but the engine&amp;nbsp;allows only sequential access.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Oct 2025 16:42:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977060#M378417</guid>
      <dc:creator>Rhino84</dc:creator>
      <dc:date>2025-10-15T16:42:41Z</dc:date>
    </item>
    <item>
      <title>Re: How To find the value of a column present in multiple tables in SAS. The column name is same.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977101#M378428</link>
      <description>&lt;P&gt;I got nothing from LOG.&lt;/P&gt;
&lt;PRE&gt;1
2    data a;
3    input source_code : $40. b c;
4    cards;

NOTE: 数据集 WORK.A 有 2 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间（总处理时间）:
      实际时间          0.42 秒
      CPU 时间          0.06 秒


7    ;
8    run;
9    data b;
10   input source_code : $40. bb xxxx : $20.;
11   cards;

NOTE: 数据集 WORK.B 有 2 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间（总处理时间）:
      实际时间          0.00 秒
      CPU 时间          0.00 秒


14   ;
15   run;
16   data c;
17   input source_code : $40. bbbbbb;
18   cards;

NOTE: 数据集 WORK.C 有 2 个观测和 2 个变量。
NOTE: “DATA 语句”所用时间（总处理时间）:
      实际时间          0.02 秒
      CPU 时间          0.01 秒


21   ;
22   run;
23
24
25
26
27   %let library= work ;  *the library you need to search;
28   %let vname= source_code; *the variable in common you need to search;
29   %let string= KL ; *the string you need to search, it could be  uppercase or lowcase;
30
31   proc delete data=want;run;

WARNING: 文件“WORK.WANT.DATA”不存在。
NOTE: “PROCEDURE DELETE”所用时间（总处理时间）:
      实际时间          0.00 秒
      CPU 时间          0.00 秒


32   proc iml;
NOTE: 正在写入 HTML Body（主体）文件: sashtml.htm
NOTE: IML Ready
33   dsn="&amp;amp;library.."+datasets("&amp;amp;library.");
34   do i=1 to nrow(dsn);
35   use (dsn[i]);
36    read all var {&amp;amp;vname.} into x;
37    flag=(upcase(x)="%upcase(&amp;amp;string)");
38    if any(flag=1) then do;
39      loc=loc(flag);
40      obs=obs//t(loc);
41      table=table//repeat(dsn[i],ncol(loc));
42    end;
43   close (dsn[i]);
44   end;
45   create want var {table  obs};
46   append;
47   close;
NOTE: Closing WORK.WANT
NOTE: 数据集 WORK.WANT 有 3 个观测和 2 个变量。
48   quit;
NOTE: Exiting IML.
NOTE: “PROCEDURE IML”所用时间（总处理时间）:
      实际时间          1.71 秒
      CPU 时间          0.31 秒


49
50   proc print noobs;run;

NOTE: 从数据集 WORK.WANT. 读取了 3 个观测
NOTE: “PROCEDURE PRINT”所用时间（总处理时间）:
      实际时间          0.08 秒
      CPU 时间          0.01 秒
&lt;/PRE&gt;
&lt;P&gt;But if you are using CAS engine or other engines ,not BASE engine. Could try this one (v9 engine). if it was still not work, then try Tom 's code .&lt;/P&gt;
&lt;PRE&gt;&lt;STRONG&gt;libname x &lt;FONT color="#FF0000"&gt;v9&lt;/FONT&gt; 'c:\temp\'; &lt;/STRONG&gt; 

data&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt; x.&lt;/FONT&gt;a&lt;/STRONG&gt;;
input source_code : $40. b c;
cards;
KL  1234567891 1234567891
wwrew 232442 343
;
run;
data x.b;
input source_code : $40. bb xxxx : $20.;
cards;
KL 233 2323
kl  1234567891 1234567891
;
run;
data x.c;
input source_code : $40. bbbbbb;
cards;
Thisaccount 1234567891
KLsaccount 1234567891 
;
run;




%let library= &lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;x&lt;/STRONG&gt; &lt;/FONT&gt;;  *the library you need to search;
%let vname= source_code; *the variable in common you need to search;
%let string= KL ; *the string you need to search, it could be  uppercase or lowcase;






proc delete data=want;run;
proc iml;
dsn="&amp;amp;library.."+datasets("&amp;amp;library.");
do i=1 to nrow(dsn);
use (dsn[i]);
 read all var {&amp;amp;vname.} into x;
 flag=(upcase(x)="%upcase(&amp;amp;string)"); 
 if any(flag=1) then do;
   loc=loc(flag); 
   obs=obs//t(loc);
   table=table//repeat(dsn[i],ncol(loc)); 
 end;
close (dsn[i]);
end;
create want var {table  obs};
append;
close;
quit;

proc print noobs;run;&lt;/PRE&gt;</description>
      <pubDate>Thu, 16 Oct 2025 03:10:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-To-find-the-value-of-a-column-present-in-multiple-tables-in/m-p/977101#M378428</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2025-10-16T03:10:51Z</dc:date>
    </item>
  </channel>
</rss>

