pcdistsetup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pcdistsetup [2019/11/21 11:28] – created Michael Scottpcdistsetup [2020/10/05 20:36] (current) – [Columns in Vacancy & Person Search Results] Justin Willey
Line 1: Line 1:
 ====== Postcode Distance Configuration ====== ====== Postcode Distance Configuration ======
  
-== Column in  ==+<note important>Ensure the the General Setting 'Postcode Distance Multiplier' is a value greater than zero. Suggest starting with 1.</note> 
 + 
 +==== Data Source ==== 
 + 
 +The postcode location data will be kept up to date by the Static Data Download facility of IQXHub. Ensure that you have a hub configured to do this. 
 + 
 +==== Columns in Vacancy & Person Search Results ==== 
 + 
 +In Maintenance | Database Setup | Custom Grid Columns choose Department: DEFAULT, Form: VACANCY, View: SEARCHRESULT 
 + 
 +and then <key>Add</key> the details shown:  
 + 
 +{{ :vacancysearchdistance.jpg?1200 |}} 
 + 
 +the Descriptor should read: <code>round(DistanceBetweenPostCodes(Person.PostCode,:Q_SitePostCodeForMap,'Mi'),1)</code> 
 + 
 +Then click <key>Update</key> To add a distance column to the Person Vacancy Search Results table, choose Department: DEFAULT, Form: PERSON, View: SEARCHRESULT and then click <key>Add</key> again. Then complete the details below: 
 + 
 +{{ :personsearchdistance.jpg?1200 |}} 
 + 
 +This time the Descriptor should be: <code>round(DistanceBetweenPostCodes(:Q_PostCode,isnull(vacancy.postcode, company.postcode) ,'Mi'),1)</code> 
 + 
 + 
 +==== Column in Shift Matcher ==== 
 + 
 +Set the Database Function: Vacancy Shift Matcher Numeric Custom Column to 
 +<code> 
 +( in @PersonID char(20),in @VacancyID char(20) )  
 +returns double 
 +begin 
 +  declare rv double; 
 +  set rv = DistanceBetweenPostCodes( 
 +    (select Person.PostCode from Person where Person.PersonID = @PersonID), 
 +    (select isnull(vacancy.postcode,company.postcode) from Vacancy key join Employment key join Company where Vacancy.VacancyID = @VacancyID),'Mi'); 
 +  if rv < 1 then 
 +    return round(rv,1) 
 +  else  
 +    return round(rv,0) 
 +  end if 
 +end</code> 
 + 
 +Set the General Setting 'Caption for Shift Matcher Custom Column' to 'Distance'
 + 
 +==== Searchable Criteria ==== 
 + 
 +This SQL will add 'Radius from Postcode' to candidate & company searchable criteria, 'Radius from Vacancy' to vacancy requirements, 'Radius from Person' to vacancy searchable criteria. 
 +<code> 
 +insert into dictionary(minstep,dictionaryid,dictionarylocation,ItemType,databaseItem,ComboSelections,Description,SortOrder,Units,ComplexExpression) values( 1,'PRD','P','S','Not Used','','Radius from Postcode',310,'Miles','DistanceBetweenPostCodes(Person.PostCode,''<SVALUE>'',''Miles'') between <N1> and <N2>'); 
 + 
 +insert into dictionary(minstep,dictionaryid,dictionarylocation,ItemType,databaseItem,ComboSelections,Description,SortOrder,Units,ComplexExpression) values( 1,'PRR','P','B','Not Used','','Radius from Vacancy',300,'Miles','DistanceBetweenPostCodes(Person.PostCode,(select isnull(Vacancy.PostCode,Company.PostCode) from Vacancy key join Employment key join Company where Vacancy.VacancyID <XID>),''Mi'') between <N1> and <N2>'); 
 + 
 +insert into dictionary(minstep,dictionaryid,dictionarylocation,ItemType,databaseItem,ComboSelections,Description,SortOrder,Units,ComplexExpression) values( 1,'CRD','C','S','Not Used','','Radius from Postcode',310,'Miles','DistanceBetweenPostCodes(Company.PostCode,''<SVALUE>'',''Miles'') between <N1> and <N2>'); 
 + 
 +insert into dictionary(minstep,dictionaryid,dictionarylocation,ItemType,databaseItem,ComboSelections,Description,SortOrder,Units,ComplexExpression) values( 1,'VRR','V','B','Not Used','','Radius from Person',300,'Miles','DistanceBetweenPostCodes((select Person.PostCode from Person where Person.PersonID <XID>),isnull(Vacancy.PostCode,Company.PostCode),''Mi'') between <N1> and <N2>'); 
 + 
 +</code>
  
  • pcdistsetup.1574335728.txt.gz
  • Last modified: 2019/11/21 11:28
  • by Michael Scott