<?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: Finding common value for a group in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/803267#M316290</link>
    <description>Here is the sample dataset&lt;BR /&gt;&lt;BR /&gt;data have;&lt;BR /&gt;infile datalines delimiter=",";&lt;BR /&gt;input Flow_Name: $256. Job_Name: $256. Dependency: $1024.;&lt;BR /&gt;cards;&lt;BR /&gt;CE_B3_STACK,90-IDM-STK_FMTS-00001,&lt;BR /&gt;CE_B3_STACK,91-IDM-STK_FW-00001,&lt;BR /&gt;CE_B3_STACK,92-IDM-STK_PRTY-00001,91-IDM-STK_FW-00001&lt;BR /&gt;CE_B3_STACK,93-IDM-STK_PRXY-00001,91-IDM-STK_FW-00001|92-IDM-STK_PRTY-00001&lt;BR /&gt;CE_B3_STACK,94-IDM-STK_B3_ASSET_CLASS-00001,90-IDM-STK_FMTS-00001|92-IDM-STK_PRTY-00001|93-IDM-STK_PRXY-00001&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00001,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00002,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00003,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00004,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00005,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00006,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00007,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00008,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00009,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00010,&lt;BR /&gt;CE_BSE_CUST_SGB,21-BSE-CUST_SGB-00001,20-BSE-CUST_SGB-00001|20-BSE-CUST_SGB-00002|20-BSE-CUST_SGB-00003|20-BSE-CUST_SGB-00004|20-BSE-CUST_SGB-00005|20-BSE-CUST_SGB-00006|20-BSE-CUST_SGB-00007|20-BSE-CUST_SGB-00008&lt;BR /&gt;;&lt;BR /&gt;run;</description>
    <pubDate>Tue, 22 Mar 2022 02:15:58 GMT</pubDate>
    <dc:creator>Swapnil_21</dc:creator>
    <dc:date>2022-03-22T02:15:58Z</dc:date>
    <item>
      <title>Finding common value for a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/802746#M316059</link>
      <description>&lt;P&gt;Hi ,&lt;/P&gt;
&lt;P&gt;I have table which has flow name , job name and dependency as columns, I need to find if same job is present in any of the dependency column.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below is the Sample&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="1753"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="122"&gt;Flow Name&lt;/TD&gt;
&lt;TD width="349"&gt;Job Name&lt;/TD&gt;
&lt;TD width="1282"&gt;Dependency&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;90-IDM-STK_FMTS-00001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;91-IDM-STK_FW-00001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;92-IDM-STK_PRTY-00001&lt;/TD&gt;
&lt;TD&gt;91-IDM-STK_FW-00001&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;93-IDM-STK_PRXY-00001&lt;/TD&gt;
&lt;TD&gt;91-IDM-STK_FW-00001|92-IDM-STK_PRTY-00001&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;94-IDM-STK_B3_ASSET_CLASS-00001&lt;/TD&gt;
&lt;TD&gt;90-IDM-STK_FMTS-00001|92-IDM-STK_PRTY-00001|93-IDM-STK_PRXY-00001&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00003&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00004&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00005&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00006&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00007&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00008&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00009&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00010&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;21-BSE-CUST_SGB-00001&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00001|20-BSE-CUST_SGB-00002|20-BSE-CUST_SGB-00003|20-BSE-CUST_SGB-00004|20-BSE-CUST_SGB-00005|20-BSE-CUST_SGB-00006|20-BSE-CUST_SGB-00007|20-BSE-CUST_SGB-00008&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Flow&amp;nbsp;CE_B3_STACK is perfectly alright. However,&amp;nbsp;CE_BSE_CUST_SGB has 2 issues. It has job name&amp;nbsp;&lt;/P&gt;
&lt;P&gt;21-BSE-CUST_SGB-00001 entry twice and also&amp;nbsp;21-BSE-CUST_SGB-00001 job shows it is dependent on the same job&amp;nbsp;21-BSE-CUST_SGB-00001.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So&amp;nbsp; I need to know and flag out such entries where job is dependent on same job within a flow . Something like below output is expected ..&lt;/P&gt;
&lt;TABLE width="1817"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="122"&gt;Flow Name&lt;/TD&gt;
&lt;TD width="349"&gt;Job Name&lt;/TD&gt;
&lt;TD width="1282"&gt;Dependency&lt;/TD&gt;
&lt;TD width="64"&gt;Flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;90-IDM-STK_FMTS-00001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;91-IDM-STK_FW-00001&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;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;92-IDM-STK_PRTY-00001&lt;/TD&gt;
&lt;TD&gt;91-IDM-STK_FW-00001&lt;/TD&gt;
&lt;TD&gt;ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;93-IDM-STK_PRXY-00001&lt;/TD&gt;
&lt;TD&gt;91-IDM-STK_FW-00001|92-IDM-STK_PRTY-00001&lt;/TD&gt;
&lt;TD&gt;ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_B3_STACK&lt;/TD&gt;
&lt;TD&gt;94-IDM-STK_B3_ASSET_CLASS-00001&lt;/TD&gt;
&lt;TD&gt;90-IDM-STK_FMTS-00001|92-IDM-STK_PRTY-00001|93-IDM-STK_PRXY-00001&lt;/TD&gt;
&lt;TD&gt;ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00003&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00004&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00005&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00006&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00007&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00008&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00009&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00010&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CE_BSE_CUST_SGB&lt;/TD&gt;
&lt;TD&gt;21-BSE-CUST_SGB-00001&lt;/TD&gt;
&lt;TD&gt;20-BSE-CUST_SGB-00001|20-BSE-CUST_SGB-00002|20-BSE-CUST_SGB-00003|20-BSE-CUST_SGB-00004|20-BSE-CUST_SGB-00005|20-BSE-CUST_SGB-00006|20-BSE-CUST_SGB-00007|20-BSE-CUST_SGB-00008&lt;/TD&gt;
&lt;TD&gt;Not ok&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help is really appreciated&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Mar 2022 07:10:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/802746#M316059</guid>
      <dc:creator>Swapnil_21</dc:creator>
      <dc:date>2022-03-18T07:10:24Z</dc:date>
    </item>
    <item>
      <title>Re: Finding common value for a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/802750#M316062</link>
      <description>&lt;P&gt;Please supply example data in usable form (correctly working data step with datalines) so we have something to easily play around with.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Without that, I can only give suggestions:&lt;/P&gt;
&lt;P&gt;First, check for doubles in Job Name by sorting (BY "Flow Name" "Job Name") and using the NODUPKEY and DUPOUT= option.&lt;/P&gt;
&lt;P&gt;Next, expand the Dependency into separate observations, so you can do a join with the Job Name column to see if there is a match for all entries.&lt;/P&gt;</description>
      <pubDate>Fri, 18 Mar 2022 07:42:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/802750#M316062</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-03-18T07:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: Finding common value for a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/803267#M316290</link>
      <description>Here is the sample dataset&lt;BR /&gt;&lt;BR /&gt;data have;&lt;BR /&gt;infile datalines delimiter=",";&lt;BR /&gt;input Flow_Name: $256. Job_Name: $256. Dependency: $1024.;&lt;BR /&gt;cards;&lt;BR /&gt;CE_B3_STACK,90-IDM-STK_FMTS-00001,&lt;BR /&gt;CE_B3_STACK,91-IDM-STK_FW-00001,&lt;BR /&gt;CE_B3_STACK,92-IDM-STK_PRTY-00001,91-IDM-STK_FW-00001&lt;BR /&gt;CE_B3_STACK,93-IDM-STK_PRXY-00001,91-IDM-STK_FW-00001|92-IDM-STK_PRTY-00001&lt;BR /&gt;CE_B3_STACK,94-IDM-STK_B3_ASSET_CLASS-00001,90-IDM-STK_FMTS-00001|92-IDM-STK_PRTY-00001|93-IDM-STK_PRXY-00001&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00001,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00002,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00003,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00004,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00005,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00006,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00007,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00008,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00009,&lt;BR /&gt;CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00010,&lt;BR /&gt;CE_BSE_CUST_SGB,21-BSE-CUST_SGB-00001,20-BSE-CUST_SGB-00001|20-BSE-CUST_SGB-00002|20-BSE-CUST_SGB-00003|20-BSE-CUST_SGB-00004|20-BSE-CUST_SGB-00005|20-BSE-CUST_SGB-00006|20-BSE-CUST_SGB-00007|20-BSE-CUST_SGB-00008&lt;BR /&gt;;&lt;BR /&gt;run;</description>
      <pubDate>Tue, 22 Mar 2022 02:15:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/803267#M316290</guid>
      <dc:creator>Swapnil_21</dc:creator>
      <dc:date>2022-03-22T02:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: Finding common value for a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/803277#M316292</link>
      <description>&lt;P&gt;See this code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines delimiter=",";
input Flow_Name: $256. Job_Name: $256. Dependency: $1024.;
cards;
CE_B3_STACK,90-IDM-STK_FMTS-00001,
CE_B3_STACK,91-IDM-STK_FW-00001,
CE_B3_STACK,92-IDM-STK_PRTY-00001,91-IDM-STK_FW-00001
CE_B3_STACK,93-IDM-STK_PRXY-00001,91-IDM-STK_FW-00001|92-IDM-STK_PRTY-00001
CE_B3_STACK,94-IDM-STK_B3_ASSET_CLASS-00001,90-IDM-STK_FMTS-00001|92-IDM-STK_PRTY-00001|93-IDM-STK_PRXY-00001
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00001,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00002,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00003,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00004,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00005,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00006,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00007,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00008,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00009,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00010,
CE_BSE_CUST_SGB,20-BSE-CUST_SGB-00001,20-BSE-CUST_SGB-00001|20-BSE-CUST_SGB-00002|20-BSE-CUST_SGB-00003|20-BSE-CUST_SGB-00004|20-BSE-CUST_SGB-00005|20-BSE-CUST_SGB-00006|20-BSE-CUST_SGB-00007|20-BSE-CUST_SGB-00008
CE_BSE_CUST_SGB,21-BSE-CUST_SGB-00001,20-BSE-CUST_SGB-00001|20-BSE-CUST_SGB-00002|20-BSE-CUST_SGB-00003|20-BSE-CUST_SGB-00004|20-BSE-CUST_SGB-00005|20-BSE-CUST_SGB-00006|20-BSE-CUST_SGB-00007|20-BSE-CUST_SGB-00008|XXX
;

/* find duplicate job_names */
proc sort
  data=have
  out=dedup /* so we do not destroy "have" */
  dupout=dups (keep=flow_name job_name)
  nodupkey
;
by flow_name job_name;
run;

/* find missing job_names and recursive definitions */
data recursive_miss (keep=flow_name flag);
set have;
by flow_name;
if _n_ = 1
then do;
  declare hash f ();
  f.definekey("job_name");
  f.definedone();
end;
if first.flow_name then rc = f.clear();
rc = f.add();
if findw(dependency,job_name,"|","t")
then do;
  flag = "recursive";
  output;
end;
else do i = 1 to countw(dependency,"|","t");
  if f.find(key:scan(dependency,i,"|")) ne 0
  then do;
    flag = "missing";
    output;
    leave;
  end;
end;
run;

data n_ok (keep=flow_name);
set
  dups
  recursive_miss
;
by flow_name;
if first.flow_name;
run;

data want;
merge
  have
  n_ok (in=n)
;
by flow_name;
flag = ifc(n,"not ok","ok");
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I corrected the last dependency from your example data so that a duplicate and recursive job_name is actually created, and then added an additional observation to create a "missing" job.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 08:55:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-common-value-for-a-group/m-p/803277#M316292</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-03-22T08:55:32Z</dc:date>
    </item>
  </channel>
</rss>

