<?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: select most likely UK city for each company in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524964#M142806</link>
    <description>&lt;P&gt;Dear Patrick,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will&amp;nbsp;&lt;SPAN&gt;post sample data in the form of a data step in the future.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;besides, I have one more question. How can I select the city if the name of a city is constructed by two or three characters? for example 'Greater Manchester'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;thanks in advance.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 07 Jan 2019 03:27:15 GMT</pubDate>
    <dc:creator>France</dc:creator>
    <dc:date>2019-01-07T03:27:15Z</dc:date>
    <item>
      <title>select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524937#M142792</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd like to select most likely UK city for each company in table 1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;logic:&lt;/P&gt;&lt;P&gt;1 group by each 'company_name'.&lt;/P&gt;&lt;P&gt;2 split text in 'persn_address' by black, comma and semicolon&lt;/P&gt;&lt;P&gt;3&amp;nbsp;select the most frequent character&amp;nbsp;which matched the city name in table 2.&lt;/P&gt;&lt;P&gt;4 keep them all if they appear equally often.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;by using a sample in Table 1.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;company_nmae&lt;/TD&gt;&lt;TD&gt;country&lt;/TD&gt;&lt;TD&gt;person_address&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;21 Warple Way,London, Greater London W3 0RX&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;London&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2MEE&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2MEE&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;York&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S AIRCHANGERS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S AIRCHANGERS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;BEECH HOUSE, 4 CARRICKNAVEAGH ROAD, LISBURN, ANTRIM BT27 6UB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S AIRCHANGERS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;BEECH HOUSE;4 CARRICKNAVEAGH ROAD;LISBURN ANTRIM BT27 6UB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S AIRCHANGERS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;BROOK HOUSE,DUNMURRY INDUSTRIAL ESTATE,DUNMURRY,BELFAST,BT17 9HU&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S AIRCHANGERS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;Beech House, 4 Carricknaveagh Road,Lisburn, Antrim BT27 6UB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S-SOFISTIKEJTED SISTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S-SOPHISTICATED SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S-SOPHISTICATED SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;10 Cromwell Place South Kensington,London SW7 2JN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S-SOPHISTICATED SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;10 Cromwell Place, South Kensington,London SW7 2JN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2S-SOPHISTICATED SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;London&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2VU&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3 SPACE SOFTWARE&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3 SPACE SOFTWARE&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;3 Soho Street,London W1V 5FA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3-D COMPOSITS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;Cumbria&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;Lynton House,7-12 Tavistock Square,London WC1H 9BQ&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;Nottingham&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;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;table 2&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;City&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Aberdeen&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Armagh&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Bangor&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Bath&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Belfast&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Birmingham&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Bradford&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Brighton &amp;amp; Hove&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Bristol&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Cambridge&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canterbury&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Cardiff&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Carlisle&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Chelmsford&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Chester&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Chichester&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Coventry&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Derby&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Derry&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dundee&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Durham&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Edinburgh&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Ely&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Exeter&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Glasgow&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Gloucester&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Hereford&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Inverness&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Kingston upon Hull&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Lancaster&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Leeds&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Leicester&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Lichfield&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Lincoln&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Lisburn&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Liverpool&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;London&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Manchester&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Newcastle upon Tyne&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Newport&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Newry&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Norwich&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Nottingham&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Oxford&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Perth&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Peterborough&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Plymouth&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Portsmouth&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Preston&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Ripon&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;St Albans&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;St Asaph&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;St Davids&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Salford&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Salisbury&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Sheffield&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Southampton&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Stirling&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Stoke-on-Trent&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Sunderland&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Swansea&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Truro&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Wakefield&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Wells&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Westminster&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Winchester&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Wolverhampton&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Worcester&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;York&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;the first sample.&lt;/P&gt;&lt;P&gt;1 group the rows based on 'company_name' --'&lt;SPAN&gt;2K POLYMER SYSTEMS'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;company_nmae&lt;/TD&gt;&lt;TD&gt;country&lt;/TD&gt;&lt;TD&gt;person_address&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;21 Warple Way,London, Greater London W3 0RX&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;London&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2 spilt the text in 'person_address' based on the blank, comma and semicolon.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;company_nmae&lt;/TD&gt;&lt;TD&gt;country&lt;/TD&gt;&lt;TD&gt;person_address&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;21&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;Warple&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;Way&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;London&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;Greater&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;London&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;W3&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;0RX&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2K POLYMER SYSTEMS&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;London&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;3&amp;nbsp;&lt;SPAN&gt;select the most frequent character&amp;nbsp;which matched the city name in table 2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;the most frequent character is&amp;nbsp;'London'. it also matches the city name in table 2 (i.e., London)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So the city of company '2K POLYMER SYSTEMS' is&amp;nbsp;'London'.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;the second example.&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;Lynton House,7-12 Tavistock Square,London&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;WC1H 9BQ&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;Nottingham&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN&gt;the result should be&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;London&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;32 DEGREES&lt;/TD&gt;&lt;TD&gt;GB&lt;/TD&gt;&lt;TD&gt;Nottingham&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;could you please give me some suggestion about this?&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 06 Jan 2019 22:41:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524937#M142792</guid>
      <dc:creator>France</dc:creator>
      <dc:date>2019-01-06T22:41:41Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524944#M142794</link>
      <description>&lt;P&gt;Below some code which lets you lookup the city per row which I guess is the bit you're struggling with.&lt;/P&gt;
&lt;P&gt;It would help in the future if you could post sample data in the form of a data step so we don't have to spend time doing this.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA company;
    LENGTH
        company_nmae     $ 24
        country          $ 2
        person_address   $ 64 ;
    FORMAT
        company_nmae     $CHAR24.
        country          $CHAR2.
        person_address   $CHAR64. ;
    INFORMAT
        company_nmae     $CHAR24.
        country          $CHAR2.
        person_address   $CHAR64. ;
    INFILE DATALINES4
        DLM='7F'x
        MISSOVER
        DSD ;
    INPUT
        company_nmae     : $CHAR24.
        country          : $CHAR2.
        person_address   : $CHAR64. ;
DATALINES4;
2K POLYMER SYSTEMS&amp;#127;GB&amp;#127; 
2K POLYMER SYSTEMS&amp;#127;GB&amp;#127;21 Warple Way,London, Greater London W3 0RX
2K POLYMER SYSTEMS&amp;#127;GB&amp;#127;London
2MEE&amp;#127;GB&amp;#127; 
2MEE&amp;#127;GB&amp;#127;York
2S AIRCHANGERS&amp;#127;GB&amp;#127; 
2S AIRCHANGERS&amp;#127;GB&amp;#127;BEECH HOUSE, 4 CARRICKNAVEAGH ROAD, LISBURN, ANTRIM BT27 6UB
2S AIRCHANGERS&amp;#127;GB&amp;#127;BEECH HOUSE;4 CARRICKNAVEAGH ROAD;LISBURN ANTRIM BT27 6UB
2S AIRCHANGERS&amp;#127;GB&amp;#127;BROOK HOUSE,DUNMURRY INDUSTRIAL ESTATE,DUNMURRY,BELFAST,BT17 9HU
2S AIRCHANGERS&amp;#127;GB&amp;#127;Beech House, 4 Carricknaveagh Road,Lisburn, Antrim BT27 6UB
2S-SOFISTIKEJTED SISTEMS&amp;#127;GB&amp;#127; 
2S-SOPHISTICATED SYSTEMS&amp;#127;GB&amp;#127; 
2S-SOPHISTICATED SYSTEMS&amp;#127;GB&amp;#127;10 Cromwell Place South Kensington,London SW7 2JN
2S-SOPHISTICATED SYSTEMS&amp;#127;GB&amp;#127;10 Cromwell Place, South Kensington,London SW7 2JN
2S-SOPHISTICATED SYSTEMS&amp;#127;GB&amp;#127;London
2VU&amp;#127;GB&amp;#127; 
3 SPACE SOFTWARE&amp;#127;GB&amp;#127; 
3 SPACE SOFTWARE&amp;#127;GB&amp;#127;3 Soho Street,London W1V 5FA
3-D COMPOSITS&amp;#127;GB&amp;#127;Cumbria
32 DEGREES&amp;#127;GB&amp;#127; 
32 DEGREES&amp;#127;GB&amp;#127;Lynton House,7-12 Tavistock Square,London WC1H 9BQ
32 DEGREES&amp;#127;GB&amp;#127;Nottingham
;;;;
run;

data city;
  infile datalines truncover;
  input city $50.;
  datalines;
Aberdeen
Armagh
Bangor
Bath
Belfast
Birmingham
Bradford
Brighton &amp;amp; Hove
Bristol
Cambridge
Canterbury
Cardiff
Carlisle
Chelmsford
Chester
Chichester
Coventry
Derby
Derry 
Dundee
Durham
Edinburgh
Ely
Exeter
Glasgow
Gloucester
Hereford
Inverness
Kingston upon Hull
Lancaster
Leeds
Leicester
Lichfield
Lincoln
Lisburn
Liverpool
London
Manchester
Newcastle upon Tyne
Newport
Newry
Norwich
Nottingham
Oxford
Perth
Peterborough
Plymouth
Portsmouth
Preston
Ripon
St Albans
St Asaph
St Davids
Salford
Salisbury
Sheffield
Southampton
Stirling
Stoke-on-Trent
Sunderland
Swansea
Truro
Wakefield
Wells
Westminster
Winchester
Wolverhampton
Worcester
York
;
run;

data sample(drop=_:);
  set company;
  if _n_=1 then 
    do;
      dcl hash h1();
      h1.defineKey('city');
      h1.defineData('city');
      h1.defineDone();
      do until(done);
        set city end=done;
        h1.ref(key:upcase(city), data:city);
      end;
    end;
  
  call missing(city);
  _word_cnt=countw(person_address);
  _person_addr_upcase=upcase(person_address);
  do _i=_word_cnt to 1 by -1;
    if h1.find(key:scan(_person_addr_upcase,_i))=0 then leave;
  end;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 06 Jan 2019 23:17:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524944#M142794</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2019-01-06T23:17:46Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524948#M142798</link>
      <description>I have some code that looks for an exact match, if it doesn't find it, it then looks for the nearest match via distance based on names. However you do need to pull out the city first. Remind me tomorrow and I can pull it up for you, it's part of a work script.</description>
      <pubDate>Sun, 06 Jan 2019 23:46:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524948#M142798</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-01-06T23:46:12Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524962#M142805</link>
      <description>&lt;P&gt;another way you can do is&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select a.*, b.* from company a
left join city b
on index(upcase(trim(person_address)),upcase(trim(city))) gt 0;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 07 Jan 2019 03:17:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524962#M142805</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2019-01-07T03:17:28Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524964#M142806</link>
      <description>&lt;P&gt;Dear Patrick,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will&amp;nbsp;&lt;SPAN&gt;post sample data in the form of a data step in the future.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;besides, I have one more question. How can I select the city if the name of a city is constructed by two or three characters? for example 'Greater Manchester'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;thanks in advance.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Jan 2019 03:27:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524964#M142806</guid>
      <dc:creator>France</dc:creator>
      <dc:date>2019-01-07T03:27:15Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524965#M142807</link>
      <description>&lt;P&gt;Dear Reeza,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just remind. thanks in advance.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Jan 2019 03:29:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/524965#M142807</guid>
      <dc:creator>France</dc:creator>
      <dc:date>2019-01-07T03:29:51Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/525043#M142838</link>
      <description>&lt;P&gt;You seem to have postal codes for almost all of the companies, which appear fairly easy to find in the address field.&amp;nbsp; Isn't there a publicly available file linking postal codes to city names?&amp;nbsp; I presume that would be a very accurate technique for those companies.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then you would have a small subset over&amp;nbsp; which you face other parsing issues and the attendant uncertainties.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Jan 2019 14:46:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/525043#M142838</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2019-01-07T14:46:19Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/526246#M143284</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/194466"&gt;@France&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;I didn't answer your "greater manchester" question yet because I was waiting for&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;'s answer. Now that you've accepted my solution: Have you found an answer yourself or do you still require a solution for this?&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jan 2019 00:42:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/526246#M143284</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2019-01-11T00:42:50Z</dc:date>
    </item>
    <item>
      <title>Re: select most likely UK city for each company</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/526261#M143291</link>
      <description>&lt;P&gt;This does require you to separate out the city component and then it does two things.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. If the city is in the list as is, that value is assumed to be correct.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. If the city is not in the list, then you calculate the distance between the city names and take the lowest value.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*master city lookup data;
data city;
 infile datalines truncover;
 input city $50.;
 datalines;
Aberdeen
Armagh
Bangor
Bath
Belfast
Birmingham
Bradford
Brighton &amp;amp; Hove
Bristol
Cambridge
Canterbury
Cardiff
Carlisle
Chelmsford
Chester
Chichester
Coventry
Derby
Derry 
;
 ;
 ;
run;

*data with spelling mistakes;
data have;
 infile datalines truncover;
 input city $50.;
 datalines;
Aberden
Armagh
Bangor
Bath
Belfast234
Birmingham
Bradford
Brighton &amp;amp; Hove
Bristol
Cambridge
Canterbury Street
Cardiff
Carlisle
Chelmsford
Chester
Chichester
Coventry Road
Derby
Derry 
;
 ;
 ;
run;


*find the nearest city;
data nearest_city;
 array m_city (19) $50 _temporary_ ;
 *load into array;

 if _n_=1 then
    do i=1 to 19;
        set City;
        m_city(i)=city;
    end;

set have;
dist=9999999;
index=0;

if whichc(city, of m_city(*)) then
 correct_city=city;
else
 do i=1 to 19;
    _dist=compged(city, m_city(i));

    if _dist &amp;lt; dist then
        do;
            index=i;
            dist=_dist;
        end;
 end;

if missing(correct_city) then
 correct_city=m_city(index);
 
 *drop _: index i dist;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 11 Jan 2019 02:52:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-most-likely-UK-city-for-each-company/m-p/526261#M143291</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-01-11T02:52:08Z</dc:date>
    </item>
  </channel>
</rss>

