UFN_WPBIOGRAPHICAL_DATAREFRESHCHANGEHISTORY
Returns a table containing change history from refresh for Biographical.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@WEALTHID | uniqueidentifier | IN | |
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN |
Definition
Copy
CREATE function [dbo].[UFN_WPBIOGRAPHICAL_DATAREFRESHCHANGEHISTORY](
@WEALTHID uniqueidentifier = null,
@STARTDATE datetime = null,
@ENDDATE datetime = null
)
returns table
as
return
(
with WPBIOGRAPHICAL_CTE as
(
select
WPBIOGRAPHICAL.ID,
WPBIOGRAPHICAL.WEALTHID
from
WPBIOGRAPHICAL
where
(WPBIOGRAPHICAL.WEALTHID = @WEALTHID or @WEALTHID is null)
), OLDVERSIONS(
REVISIONNUMBER,
WEALTHID,
PARTIALHASH,
SOURCE,
DATEADDED,
KEYNAME,
--Insert Data Columns Here
FULLNAME,
LINE1,
CITY,
STATE,
ZIP,
A2LINE1,
A2CITY,
A2STATE,
A2ZIP,
GENDER,
BIRTHDATE,
BIRTHPLACE,
DECEASEDDATE,
OCCUPATION,
EDUCATION,
FAMILY,
POSITIONSHELD,
CERTIFICATIONS,
CAREER,
AWARDS,
MEMBERSHIPS,
RESEARCHINTERESTS,
POLITICALRELIGIOUSAFFILIATIONS,
CIVICMILITARYSERVICE,
THOUGHTSONLIFE,
LAW,
PERSONAL
)as(
select
Row_Number() over (partition by WPBIOGRAPHICAL.ID order by WPBIOGRAPHICALHISTORY.DATEADDED) as REVISIONNUMBER,
WPBIOGRAPHICAL.WEALTHID,
WPBIOGRAPHICALHISTORY.PARTIALHASH,
WPBIOGRAPHICALHISTORY.SOURCE,
WPBIOGRAPHICALHISTORY.DATEADDED,
--Set Key Name Field Here
WPBIOGRAPHICALHISTORY.FULLNAME as KEYNAME,
--Insert Data Columns Here
cast(WPBIOGRAPHICALHISTORY.FULLNAME as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.LINE1 as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.CITY as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.STATE as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.ZIP as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.A2LINE1 as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.A2CITY as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.A2STATE as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.A2ZIP as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.GENDER as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.BIRTHDATE as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.BIRTHPLACE as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.DECEASEDDATE as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.OCCUPATION as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.EDUCATION as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.FAMILY as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.POSITIONSHELD as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.CERTIFICATIONS as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.CAREER as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.AWARDS as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.MEMBERSHIPS as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.RESEARCHINTERESTS as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.POLITICALRELIGIOUSAFFILIATIONS as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.CIVICMILITARYSERVICE as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.THOUGHTSONLIFE as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.LAW as nvarchar(4000)),
cast(WPBIOGRAPHICALHISTORY.PERSONAL as nvarchar(4000))
from
dbo.WPBIOGRAPHICALHISTORY
inner join WPBIOGRAPHICAL_CTE as WPBIOGRAPHICAL on
WPBIOGRAPHICAL.ID = WPBIOGRAPHICALHISTORY.WPBIOGRAPHICALID
),
NEWVERSIONS(
REVISIONNUMBER,
WEALTHID,
PARTIALHASH,
SOURCE,
DATE,
KEYNAME,
--Insert Data Columns Here
FULLNAME,
LINE1,
CITY,
STATE,
ZIP,
A2LINE1,
A2CITY,
A2STATE,
A2ZIP,
GENDER,
BIRTHDATE,
BIRTHPLACE,
DECEASEDDATE,
OCCUPATION,
EDUCATION,
FAMILY,
POSITIONSHELD,
CERTIFICATIONS,
CAREER,
AWARDS,
MEMBERSHIPS,
RESEARCHINTERESTS,
POLITICALRELIGIOUSAFFILIATIONS,
CIVICMILITARYSERVICE,
THOUGHTSONLIFE,
LAW,
PERSONAL
)as(
select
(OLDVERSIONS.REVISIONNUMBER - 1) as REVISIONNUMBER,
OLDVERSIONS.WEALTHID,
OLDVERSIONS.PARTIALHASH,
OLDVERSIONS.SOURCE,
OLDVERSIONS.DATEADDED as DATE,
--Set Key Name Field Here
OLDVERSIONS.KEYNAME,
--Insert Data Columns Here
OLDVERSIONS.FULLNAME,
OLDVERSIONS.LINE1,
OLDVERSIONS.CITY,
OLDVERSIONS.STATE,
OLDVERSIONS.ZIP,
OLDVERSIONS.A2LINE1,
OLDVERSIONS.A2CITY,
OLDVERSIONS.A2STATE,
OLDVERSIONS.A2ZIP,
OLDVERSIONS.GENDER,
OLDVERSIONS.BIRTHDATE,
OLDVERSIONS.BIRTHPLACE,
OLDVERSIONS.DECEASEDDATE,
OLDVERSIONS.OCCUPATION,
OLDVERSIONS.EDUCATION,
OLDVERSIONS.FAMILY,
OLDVERSIONS.POSITIONSHELD,
OLDVERSIONS.CERTIFICATIONS,
OLDVERSIONS.CAREER,
OLDVERSIONS.AWARDS,
OLDVERSIONS.MEMBERSHIPS,
OLDVERSIONS.RESEARCHINTERESTS,
OLDVERSIONS.POLITICALRELIGIOUSAFFILIATIONS,
OLDVERSIONS.CIVICMILITARYSERVICE,
OLDVERSIONS.THOUGHTSONLIFE,
OLDVERSIONS.LAW,
OLDVERSIONS.PERSONAL
from
OLDVERSIONS
where
(@STARTDATE is null or OLDVERSIONS.DATEADDED >= @STARTDATE) and
(@ENDDATE is null or OLDVERSIONS.DATEADDED <= @ENDDATE)
),
REVISIONS(
WEALTHID,
PARTIALHASH,
SOURCE,
DATE,
KEYNAME,
--Insert Data Columns Here (Including "_NEW" Columns)
FULLNAME,
LINE1,
CITY,
STATE,
ZIP,
A2LINE1,
A2CITY,
A2STATE,
A2ZIP,
GENDER,
BIRTHDATE,
BIRTHPLACE,
DECEASEDDATE,
OCCUPATION,
EDUCATION,
FAMILY,
POSITIONSHELD,
CERTIFICATIONS,
CAREER,
AWARDS,
MEMBERSHIPS,
RESEARCHINTERESTS,
POLITICALRELIGIOUSAFFILIATIONS,
CIVICMILITARYSERVICE,
THOUGHTSONLIFE,
LAW,
PERSONAL,
FULLNAME_NEW,
LINE1_NEW,
CITY_NEW,
STATE_NEW,
ZIP_NEW,
A2LINE1_NEW,
A2CITY_NEW,
A2STATE_NEW,
A2ZIP_NEW,
GENDER_NEW,
BIRTHDATE_NEW,
BIRTHPLACE_NEW,
DECEASEDDATE_NEW,
OCCUPATION_NEW,
EDUCATION_NEW,
FAMILY_NEW,
POSITIONSHELD_NEW,
CERTIFICATIONS_NEW,
CAREER_NEW,
AWARDS_NEW,
MEMBERSHIPS_NEW,
RESEARCHINTERESTS_NEW,
POLITICALRELIGIOUSAFFILIATIONS_NEW,
CIVICMILITARYSERVICE_NEW,
THOUGHTSONLIFE_NEW,
LAW_NEW,
PERSONAL_NEW
)as(
select
OLDVERSIONS.WEALTHID,
OLDVERSIONS.PARTIALHASH,
NEWVERSIONS.SOURCE,
NEWVERSIONS.DATE,
NEWVERSIONS.KEYNAME,
--Insert Data Columns Here (Including "_NEW" Columns)
OLDVERSIONS.FULLNAME as FULLNAME,
OLDVERSIONS.LINE1 as LINE1,
OLDVERSIONS.CITY as CITY,
OLDVERSIONS.STATE as STATE,
OLDVERSIONS.ZIP as ZIP,
OLDVERSIONS.A2LINE1 as A2LINE1,
OLDVERSIONS.A2CITY as A2CITY,
OLDVERSIONS.A2STATE as A2STATE,
OLDVERSIONS.A2ZIP as A2ZIP,
OLDVERSIONS.GENDER as GENDER,
OLDVERSIONS.BIRTHDATE as BIRTHDATE,
OLDVERSIONS.BIRTHPLACE as BIRTHPLACE,
OLDVERSIONS.DECEASEDDATE as DECEASEDDATE,
OLDVERSIONS.OCCUPATION as OCCUPATION,
OLDVERSIONS.EDUCATION as EDUCATION,
OLDVERSIONS.FAMILY as FAMILY,
OLDVERSIONS.POSITIONSHELD as POSITIONSHELD,
OLDVERSIONS.CERTIFICATIONS as CERTIFICATIONS,
OLDVERSIONS.CAREER as CAREER,
OLDVERSIONS.AWARDS as AWARDS,
OLDVERSIONS.MEMBERSHIPS as MEMBERSHIPS,
OLDVERSIONS.RESEARCHINTERESTS as RESEARCHINTERESTS,
OLDVERSIONS.POLITICALRELIGIOUSAFFILIATIONS as POLITICALRELIGIOUSAFFILIATIONS,
OLDVERSIONS.CIVICMILITARYSERVICE as CIVICMILITARYSERVICE,
OLDVERSIONS.THOUGHTSONLIFE as THOUGHTSONLIFE,
OLDVERSIONS.LAW as LAW,
OLDVERSIONS.PERSONAL as PERSONAL,
NEWVERSIONS.FULLNAME as FULLNAME_NEW,
NEWVERSIONS.LINE1 as LINE1_NEW,
NEWVERSIONS.CITY as CITY_NEW,
NEWVERSIONS.STATE as STATE_NEW,
NEWVERSIONS.ZIP as ZIP_NEW,
NEWVERSIONS.A2LINE1 as A2LINE1_NEW,
NEWVERSIONS.A2CITY as A2CITY_NEW,
NEWVERSIONS.A2STATE as A2STATE_NEW,
NEWVERSIONS.A2ZIP as A2ZIP_NEW,
NEWVERSIONS.GENDER as GENDER_NEW,
NEWVERSIONS.BIRTHDATE as BIRTHDATE_NEW,
NEWVERSIONS.BIRTHPLACE as BIRTHPLACE_NEW,
NEWVERSIONS.DECEASEDDATE as DECEASEDDATE_NEW,
NEWVERSIONS.OCCUPATION as OCCUPATION_NEW,
NEWVERSIONS.EDUCATION as EDUCATION_NEW,
NEWVERSIONS.FAMILY as FAMILY_NEW,
NEWVERSIONS.POSITIONSHELD as POSITIONSHELD_NEW,
NEWVERSIONS.CERTIFICATIONS as CERTIFICATIONS_NEW,
NEWVERSIONS.CAREER as CAREER_NEW,
NEWVERSIONS.AWARDS as AWARDS_NEW,
NEWVERSIONS.MEMBERSHIPS as MEMBERSHIPS_NEW,
NEWVERSIONS.RESEARCHINTERESTS as RESEARCHINTERESTS_NEW,
NEWVERSIONS.POLITICALRELIGIOUSAFFILIATIONS as POLITICALRELIGIOUSAFFILIATIONS_NEW,
NEWVERSIONS.CIVICMILITARYSERVICE as CIVICMILITARYSERVICE_NEW,
NEWVERSIONS.THOUGHTSONLIFE as THOUGHTSONLIFE_NEW,
NEWVERSIONS.LAW as LAW_NEW,
NEWVERSIONS.PERSONAL as PERSONAL_NEW
from
OLDVERSIONS
inner join NEWVERSIONS on
OLDVERSIONS.REVISIONNUMBER = NEWVERSIONS.REVISIONNUMBER and
OLDVERSIONS.WEALTHID = NEWVERSIONS.WEALTHID and
OLDVERSIONS.PARTIALHASH = NEWVERSIONS.PARTIALHASH
)
select
CONSTITUENT.ID as CONSTITUENTID,
CONSTITUENT.NAME,
CHANGES.SOURCE,
CHANGES.KEYNAME,
CHANGES.DATE,
WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD.FIELDTRANSLATION,
CHANGES.OLDVALUE,
CHANGES.NEWVALUE
from(
select
WEALTHID,
PARTIALHASH,
SOURCE,
KEYNAME,
DATE,
FIELDNAME,
OLDVALUE,
NEWVALUE
from(
select
WEALTHID,
PARTIALHASH,
SOURCE,
KEYNAME,
DATE,
--Insert Data Columns Here (Including "_NEW" Columns)
FULLNAME,
LINE1,
CITY,
STATE,
ZIP,
A2LINE1,
A2CITY,
A2STATE,
A2ZIP,
GENDER,
BIRTHDATE,
BIRTHPLACE,
DECEASEDDATE,
OCCUPATION,
EDUCATION,
FAMILY,
POSITIONSHELD,
CERTIFICATIONS,
CAREER,
AWARDS,
MEMBERSHIPS,
RESEARCHINTERESTS,
POLITICALRELIGIOUSAFFILIATIONS,
CIVICMILITARYSERVICE,
THOUGHTSONLIFE,
LAW,
PERSONAL,
FULLNAME_NEW,
LINE1_NEW,
CITY_NEW,
STATE_NEW,
ZIP_NEW,
A2LINE1_NEW,
A2CITY_NEW,
A2STATE_NEW,
A2ZIP_NEW,
GENDER_NEW,
BIRTHDATE_NEW,
BIRTHPLACE_NEW,
DECEASEDDATE_NEW,
OCCUPATION_NEW,
EDUCATION_NEW,
FAMILY_NEW,
POSITIONSHELD_NEW,
CERTIFICATIONS_NEW,
CAREER_NEW,
AWARDS_NEW,
MEMBERSHIPS_NEW,
RESEARCHINTERESTS_NEW,
POLITICALRELIGIOUSAFFILIATIONS_NEW,
CIVICMILITARYSERVICE_NEW,
THOUGHTSONLIFE_NEW,
LAW_NEW,
PERSONAL_NEW
from
REVISIONS
)as SOURCEDATA
unpivot(
OLDVALUE for FIELDNAME IN(
--Insert Data Columns Here (Excluding "_NEW" Columns)
FULLNAME,
LINE1,
CITY,
STATE,
ZIP,
A2LINE1,
A2CITY,
A2STATE,
A2ZIP,
GENDER,
BIRTHDATE,
BIRTHPLACE,
DECEASEDDATE,
OCCUPATION,
EDUCATION,
FAMILY,
POSITIONSHELD,
CERTIFICATIONS,
CAREER,
AWARDS,
MEMBERSHIPS,
RESEARCHINTERESTS,
POLITICALRELIGIOUSAFFILIATIONS,
CIVICMILITARYSERVICE,
THOUGHTSONLIFE,
LAW,
PERSONAL
))as UNPIVOTEDDATA1
unpivot(
NEWVALUE for FIELDNAME_NEW IN(
--Insert Data Columns Here (Only "_NEW" Columns)
FULLNAME_NEW,
LINE1_NEW,
CITY_NEW,
STATE_NEW,
ZIP_NEW,
A2LINE1_NEW,
A2CITY_NEW,
A2STATE_NEW,
A2ZIP_NEW,
GENDER_NEW,
BIRTHDATE_NEW,
BIRTHPLACE_NEW,
DECEASEDDATE_NEW,
OCCUPATION_NEW,
EDUCATION_NEW,
FAMILY_NEW,
POSITIONSHELD_NEW,
CERTIFICATIONS_NEW,
CAREER_NEW,
AWARDS_NEW,
MEMBERSHIPS_NEW,
RESEARCHINTERESTS_NEW,
POLITICALRELIGIOUSAFFILIATIONS_NEW,
CIVICMILITARYSERVICE_NEW,
THOUGHTSONLIFE_NEW,
LAW_NEW,
PERSONAL_NEW
)) as UNPIVOTEDDATA2
where
FIELDNAME_NEW = FIELDNAME + '_NEW'and
OLDVALUE <> NEWVALUE and
NEWVALUE is not null and
NEWVALUE <> ''
) as CHANGES
left join dbo.CONSTITUENT on
CONSTITUENT.ID = CHANGES.WEALTHID
left join dbo.WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD on
CHANGES.FIELDNAME = WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD.FIELDNAME and
WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD.TABLENAME = 'WPBIOGRAPHICAL'
)