<?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 decipher a hidden matching table? Association problem in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815197#M321762</link>
    <description>I'm writing from my smartphone. Therefore I'm not providing a data set to illustrate my challenge.&lt;BR /&gt;I have an internal 3 alphanumeric codification for optional equipment.&lt;BR /&gt;This is just a technical code, you cannot derive information from it, if the code "PH1" stands for roof top or whatever.&lt;BR /&gt;I have a second table from a provider with the literal description of the equipment associated to the provider's equipment code.&lt;BR /&gt;&lt;BR /&gt;Both tables are on chassis number level.&lt;BR /&gt;So imagine we have a car identified by the chassis number xyz with 3 optional equipment.&lt;BR /&gt;Table A&lt;BR /&gt;Ph1&lt;BR /&gt;Gf4&lt;BR /&gt;Abb&lt;BR /&gt;&lt;BR /&gt;And table B&lt;BR /&gt;01342 roof top&lt;BR /&gt;04533 leather seats&lt;BR /&gt;07823 multimedia package&lt;BR /&gt;&lt;BR /&gt;Now my challenge is to match our code with their code.&lt;BR /&gt;&lt;BR /&gt;My initial idea would be to start with low equipped cars (ideally only 1 equipment code) y solve sequentially the matching links.&lt;BR /&gt;I would resort to IML to do so.&lt;BR /&gt;&lt;BR /&gt;What Do you think? Are their procs that could get me started?&lt;BR /&gt;&lt;BR /&gt;I have the feeling that a matrix approach with SVD could yield good results as well. It's quite similar to text analytics, isn't it?&lt;BR /&gt;&lt;BR /&gt;I'm just thinking loud.&lt;BR /&gt;So I would span a matrix with the&lt;BR /&gt;Provider's code as rows and 0/1 in the columns with our internal code.</description>
    <pubDate>Thu, 26 May 2022 12:00:20 GMT</pubDate>
    <dc:creator>acordes</dc:creator>
    <dc:date>2022-05-26T12:00:20Z</dc:date>
    <item>
      <title>How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815197#M321762</link>
      <description>I'm writing from my smartphone. Therefore I'm not providing a data set to illustrate my challenge.&lt;BR /&gt;I have an internal 3 alphanumeric codification for optional equipment.&lt;BR /&gt;This is just a technical code, you cannot derive information from it, if the code "PH1" stands for roof top or whatever.&lt;BR /&gt;I have a second table from a provider with the literal description of the equipment associated to the provider's equipment code.&lt;BR /&gt;&lt;BR /&gt;Both tables are on chassis number level.&lt;BR /&gt;So imagine we have a car identified by the chassis number xyz with 3 optional equipment.&lt;BR /&gt;Table A&lt;BR /&gt;Ph1&lt;BR /&gt;Gf4&lt;BR /&gt;Abb&lt;BR /&gt;&lt;BR /&gt;And table B&lt;BR /&gt;01342 roof top&lt;BR /&gt;04533 leather seats&lt;BR /&gt;07823 multimedia package&lt;BR /&gt;&lt;BR /&gt;Now my challenge is to match our code with their code.&lt;BR /&gt;&lt;BR /&gt;My initial idea would be to start with low equipped cars (ideally only 1 equipment code) y solve sequentially the matching links.&lt;BR /&gt;I would resort to IML to do so.&lt;BR /&gt;&lt;BR /&gt;What Do you think? Are their procs that could get me started?&lt;BR /&gt;&lt;BR /&gt;I have the feeling that a matrix approach with SVD could yield good results as well. It's quite similar to text analytics, isn't it?&lt;BR /&gt;&lt;BR /&gt;I'm just thinking loud.&lt;BR /&gt;So I would span a matrix with the&lt;BR /&gt;Provider's code as rows and 0/1 in the columns with our internal code.</description>
      <pubDate>Thu, 26 May 2022 12:00:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815197#M321762</guid>
      <dc:creator>acordes</dc:creator>
      <dc:date>2022-05-26T12:00:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815205#M321769</link>
      <description>&lt;P&gt;I don't see anything in your table A that would allow to match a record to table B. Is there any other information available in the data that would allow to establish such a relationship (like sort order or what else)?&lt;/P&gt;</description>
      <pubDate>Thu, 26 May 2022 12:19:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815205#M321769</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2022-05-26T12:19:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815207#M321770</link>
      <description>No. That's all. I don't have any additional information.  The order of table A and B is arbitrary. &lt;BR /&gt;Some chassis numbers (meaning one specific car) were built with 5 optional equipment meanwhile others could have 15.&lt;BR /&gt;So it's a combinatorial problem.&lt;BR /&gt;&lt;BR /&gt;I was just searching the community, and I think my problem can be solved with proc assoc and that it's known under the term market basket analysis.&lt;BR /&gt;</description>
      <pubDate>Thu, 26 May 2022 12:27:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815207#M321770</guid>
      <dc:creator>acordes</dc:creator>
      <dc:date>2022-05-26T12:27:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815210#M321773</link>
      <description>&lt;P&gt;OK. You might understand what you're talking about as I don't. Even if it's a combinatorial problem then you would still need information that links the data between the two tables as else it's just going to be "random" or a cartesian product whatever smart algorithm you can come-up with.&lt;/P&gt;</description>
      <pubDate>Thu, 26 May 2022 12:36:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815210#M321773</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2022-05-26T12:36:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815212#M321774</link>
      <description>I have hundreds of thousands of cars with their specific equipment.&lt;BR /&gt;The challenge is to find a rule that code 01234 always is present with PH1.</description>
      <pubDate>Thu, 26 May 2022 12:34:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815212#M321774</guid>
      <dc:creator>acordes</dc:creator>
      <dc:date>2022-05-26T12:34:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815214#M321775</link>
      <description>&lt;P&gt;And there is NOTHING in the data you shared that would allow you to make such a connection.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example if you would have the following two tables...&lt;/P&gt;
&lt;PRE&gt;Table Weather
Sunshine
Rain

Table Location
Mt. Waialeale on Kauai in Hawaii
Phoenix, Arizona&lt;/PRE&gt;
&lt;P&gt;.... then without any further information nothing will allow you to tell that Phoenix is one of the sunniest places in the US and Mt. Waialeale one of the rainiest (according to Google).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That's what you're dealing with here if you haven't got more information than what you shared with us.&lt;/P&gt;</description>
      <pubDate>Thu, 26 May 2022 12:55:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815214#M321775</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2022-05-26T12:55:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815215#M321776</link>
      <description>&lt;P&gt;You need some other information to even begin to attempt to make any attempt to match the codes.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example if you knew that particular option was selected for 50% of the cars then you could analyze the data on the actual cars and see what they call something that appears on half the cars and perhaps imply those two option names are the same.&lt;/P&gt;</description>
      <pubDate>Thu, 26 May 2022 12:40:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815215#M321776</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-05-26T12:40:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815217#M321778</link>
      <description>&lt;P&gt;This is an example of a transposition cipher. Assuming you have sufficient information about cars in the first data set, you might be able to match the codes with some or all of the information in the second data set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A problem that you will encounter is that there is no guarantee of a unique solution. Suppose anti-lock brakes and electronic door locks always appear together and no car has one without the other. Then there is no way to determine that XYZ is anti-lock brakes whereas PQR is electronic door locks. On the other hand, it doesn't matter for most analyses how you code these features if they always appear together.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For IML programs about ciphers, see&amp;nbsp;&lt;A href="https://blogs.sas.com/content/tag/ciphers/" target="_blank"&gt;https://blogs.sas.com/content/tag/ciphers/&lt;/A&gt;&amp;nbsp;. All of the programs use an English letter corpus to provide a way to score whether a given transposition is accurate. Some also use frequency analysis of letters and bigrams. I think those issues are important: If you know that some features (anti-lock brakes) appear more often than others (sun roof), you can use the relative frequencies to guide the analysis.&amp;nbsp; If you know that certain features are bundled together, that is akin to bigrams and trigrams in traditional text analysis.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You propose an iterative approach. First, decipher all those codes for vehicles that have one feature. Then try to use those solutions to attack the vehicles that have two features. However, at this step, you might encounter vehicles that have two features that are not yet known. At that point, your method breaks down. This is when you might consider a frequency analysis.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think this is a difficult problem to try to code by hand and solve in an automated fashion. Especially, if the number of coded values ("letters") is large.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 26 May 2022 13:06:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815217#M321778</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2022-05-26T13:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to decipher a hidden matching table? Association problem</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815238#M321789</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/127222"&gt;@acordes&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;I have hundreds of thousands of cars with their specific equipment.&lt;BR /&gt;The challenge is to find a rule that code 01234 always is present with PH1.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Are they all the same maker? IF not good luck as ABC from one make might well be PDQ from another.&lt;/P&gt;
&lt;P&gt;Also within the same make the same code may mean different things based on the model and the model year.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Plus cars that shared components may have the same item with different code as the "high end" option in one car could be the low end in another line.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For a rough example, PONTIAC with WS6 is the code for the current model year "performance" or "sports" suspension package and depending on year might mean manual or automatic transmission, specific wheels, modified cooling system and/or exhaust, possibly hood configuration and who knows what exterior badging might or might not appear for any specific year. It appears that as later buyers were no longer able to specify single options that some makers codes became "trim level" indicators and not quite so much the individual items.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 26 May 2022 15:42:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-decipher-a-hidden-matching-table-Association-problem/m-p/815238#M321789</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2022-05-26T15:42:12Z</dc:date>
    </item>
  </channel>
</rss>

