<?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: Proc compare - comparing variables in two datasets that have different sizes and different variable placement in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148410#M297686</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Change:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.VAR_NAME=B.VARNAME;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.VAR_NAME=B.VARNAME&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN_BASE="N" or IN_COMP="Y"; &lt;/P&gt;&lt;P&gt;/* note may need to replace with where CALCULATED IN_BASE="Y"... */&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 17 Sep 2014 12:14:41 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2014-09-17T12:14:41Z</dc:date>
    <item>
      <title>Proc compare - comparing variables in two datasets that have different sizes and different variable placement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148406#M297682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So, I have a significant problem with proc compare. I have two datasets with the two columns. One column lists table names and the other one - names of variables which correspond to table names from the first column. I want compare values of one of them based on the values of first column. I somewhat made it work but the thing is that these datasets have different sizes due to additional values in one of them. Which means that some new variable was added in the middle of a dataset (new variable was added to a table). Unfortunately, proc compare compares values from two datasets horizontally and checks them against each other for values, so in my case it looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds 1 | ds 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cost | box_nr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; other | cost_total&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you can see, a new value `box_nr` was added to the second dataset that appears above the value&amp;nbsp; that I want it to compare variable `cost` to (`cost_total`). So I would like to know if it's possible to compare values (check for differences in character sequence) that have at least minimal similarity - for example 3 letters (cos) or if it's possible to just put values like `box_nr` at the end suggesting that they don't appear in a certain dataset. &lt;/P&gt;&lt;P&gt;My code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC Compare base=USERSPDS.MIzew compare=USERSPDS.MIwew&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out=USERSPDS.result outbase outcomp outdif noprint; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id 'TABLE&amp;nbsp; HD'n;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc print data=USERSPDS.result noobs;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by 'TABLE&amp;nbsp; HD'n;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id 'TTABLE&amp;nbsp; HD'n;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title 'COMPARISON:';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 09:25:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148406#M297682</guid>
      <dc:creator>Dontik</dc:creator>
      <dc:date>2014-09-17T09:25:23Z</dc:date>
    </item>
    <item>
      <title>Re: Proc compare - comparing variables in two datasets that have different sizes and different variable placement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148407#M297683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your better off using proc sql, joining the two tables - assuming columns are DATASET, VAR_NAME:&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table MATCHES as&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COALESCE(A.DATASET,B.DATASET) as DATASET,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; COALESCE(A.VAR_NAME,B.VAR_NAME) as VAR_NAME,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case when A.DATASET="" or A.VAR_NAME="" then "N" else "Y" as IN_BASE,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case when B.DATASET="" or B.VAR_NAME="" then "N" else "Y" as IN_COMP,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BASE_DATASET A&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; full join&amp;nbsp;&amp;nbsp; COMP_DATASET B&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.DATASET=B.DATASET&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.VAR_NAME=B.VARNAME;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will give a full list of all dataset/varname combinations and a flag if its present in either.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 09:30:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148407#M297683</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-09-17T09:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: Proc compare - comparing variables in two datasets that have different sizes and different variable placement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148408#M297684</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 11:02:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148408#M297684</guid>
      <dc:creator>Dontik</dc:creator>
      <dc:date>2014-09-17T11:02:58Z</dc:date>
    </item>
    <item>
      <title>Re: Proc compare - comparing variables in two datasets that have different sizes and different variable placement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148409#M297685</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And what if I don't want to see values that are present in both of these datasets? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 12:12:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148409#M297685</guid>
      <dc:creator>Dontik</dc:creator>
      <dc:date>2014-09-17T12:12:05Z</dc:date>
    </item>
    <item>
      <title>Re: Proc compare - comparing variables in two datasets that have different sizes and different variable placement</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148410#M297686</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Change:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.VAR_NAME=B.VARNAME;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.VAR_NAME=B.VARNAME&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN_BASE="N" or IN_COMP="Y"; &lt;/P&gt;&lt;P&gt;/* note may need to replace with where CALCULATED IN_BASE="Y"... */&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 12:14:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-compare-comparing-variables-in-two-datasets-that-have/m-p/148410#M297686</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-09-17T12:14:41Z</dc:date>
    </item>
  </channel>
</rss>

