UFN_WPPRIVATEFOUNDATION_DATAREFRESHCHANGEHISTORY
Returns a table containing change history from Data Refresh for Private Foundation.
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_WPPRIVATEFOUNDATION_DATAREFRESHCHANGEHISTORY](
@WEALTHID uniqueidentifier = null,
@STARTDATE datetime = null,
@ENDDATE datetime = null
)
returns table
as
return
(
with WPPRIVATEFOUNDATION_CTE as
(
select
WPPRIVATEFOUNDATION.ID,
WPPRIVATEFOUNDATION.WEALTHID
from
WPPRIVATEFOUNDATION
where
(WPPRIVATEFOUNDATION.WEALTHID = @WEALTHID or @WEALTHID is null)
), OLDVERSIONS(
REVISIONNUMBER,
WEALTHID,
PARTIALHASH,
SOURCE,
DATEADDED,
KEYNAME,
--Insert Data Columns Here
TITLE,
RULING_YEAR,
COMPANY,
LINE1,
CITY,
STATE,
ZIP,
YEAR_ENDING,
PHONE,
DESCRIPTION,
TOTALASSETS_FMV,
COMP,
FORMYEAR,
FILEDDATE,
FAIRMARKETVALUEASSETS,
LOCATION,
REVENUE,
ORGFORMYEAR,
WEBSITE,
HCITY,
HSTATE,
HZIP
)as(
select
Row_Number() over (partition by WPPRIVATEFOUNDATION.ID order by WPPRIVATEFOUNDATIONHISTORY.DATEADDED) as REVISIONNUMBER,
WPPRIVATEFOUNDATION.WEALTHID,
WPPRIVATEFOUNDATIONHISTORY.PARTIALHASH,
WPPRIVATEFOUNDATIONHISTORY.SOURCE,
WPPRIVATEFOUNDATIONHISTORY.DATEADDED,
--Set Key Name Field Here
WPPRIVATEFOUNDATIONHISTORY.COMPANY as KEYNAME,
--Insert Data Columns Here
cast(WPPRIVATEFOUNDATIONHISTORY.TITLE as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.RULING_YEAR as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.COMPANY as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.LINE1 as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.CITY as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.STATE as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.ZIP as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.YEAR_ENDING as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.PHONE as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.DESCRIPTION as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.TOTALASSETS_FMV as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.COMP as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.FORMYEAR as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.FILEDDATE as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.FAIRMARKETVALUEASSETS as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.LOCATION as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.REVENUE as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.ORGFORMYEAR as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.WEBSITE as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.HCITY as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.HSTATE as nvarchar(4000)),
cast(WPPRIVATEFOUNDATIONHISTORY.HZIP as nvarchar(4000))
from
dbo.WPPRIVATEFOUNDATIONHISTORY
inner join WPPRIVATEFOUNDATION_CTE as WPPRIVATEFOUNDATION on
WPPRIVATEFOUNDATION.ID = WPPRIVATEFOUNDATIONHISTORY.WPPRIVATEFOUNDATIONID
),
NEWVERSIONS(
REVISIONNUMBER,
WEALTHID,
PARTIALHASH,
SOURCE,
DATE,
KEYNAME,
--Insert Data Columns Here
TITLE,
RULING_YEAR,
COMPANY,
LINE1,
CITY,
STATE,
ZIP,
YEAR_ENDING,
PHONE,
DESCRIPTION,
TOTALASSETS_FMV,
COMP,
FORMYEAR,
FILEDDATE,
FAIRMARKETVALUEASSETS,
LOCATION,
REVENUE,
ORGFORMYEAR,
WEBSITE,
HCITY,
HSTATE,
HZIP
)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.TITLE,
OLDVERSIONS.RULING_YEAR,
OLDVERSIONS.COMPANY,
OLDVERSIONS.LINE1,
OLDVERSIONS.CITY,
OLDVERSIONS.STATE,
OLDVERSIONS.ZIP,
OLDVERSIONS.YEAR_ENDING,
OLDVERSIONS.PHONE,
OLDVERSIONS.DESCRIPTION,
OLDVERSIONS.TOTALASSETS_FMV,
OLDVERSIONS.COMP,
OLDVERSIONS.FORMYEAR,
OLDVERSIONS.FILEDDATE,
OLDVERSIONS.FAIRMARKETVALUEASSETS,
OLDVERSIONS.LOCATION,
OLDVERSIONS.REVENUE,
OLDVERSIONS.ORGFORMYEAR,
OLDVERSIONS.WEBSITE,
OLDVERSIONS.HCITY,
OLDVERSIONS.HSTATE,
OLDVERSIONS.HZIP
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)
TITLE,
RULING_YEAR,
COMPANY,
LINE1,
CITY,
STATE,
ZIP,
YEAR_ENDING,
PHONE,
DESCRIPTION,
TOTALASSETS_FMV,
COMP,
FORMYEAR,
FILEDDATE,
FAIRMARKETVALUEASSETS,
LOCATION,
REVENUE,
ORGFORMYEAR,
WEBSITE,
HCITY,
HSTATE,
HZIP,
TITLE_NEW,
RULING_YEAR_NEW,
COMPANY_NEW,
LINE1_NEW,
CITY_NEW,
STATE_NEW,
ZIP_NEW,
YEAR_ENDING_NEW,
PHONE_NEW,
DESCRIPTION_NEW,
TOTALASSETS_FMV_NEW,
COMP_NEW,
FORMYEAR_NEW,
FILEDDATE_NEW,
FAIRMARKETVALUEASSETS_NEW,
LOCATION_NEW,
REVENUE_NEW,
ORGFORMYEAR_NEW,
WEBSITE_NEW,
HCITY_NEW,
HSTATE_NEW,
HZIP_NEW
)as(
select
OLDVERSIONS.WEALTHID,
OLDVERSIONS.PARTIALHASH,
NEWVERSIONS.SOURCE,
NEWVERSIONS.DATE,
NEWVERSIONS.KEYNAME,
--Insert Data Columns Here (Including "_NEW" Columns)
OLDVERSIONS.TITLE as TITLE,
OLDVERSIONS.RULING_YEAR as RULING_YEAR,
OLDVERSIONS.COMPANY as COMPANY,
OLDVERSIONS.LINE1 as LINE1,
OLDVERSIONS.CITY as CITY,
OLDVERSIONS.STATE as STATE,
OLDVERSIONS.ZIP as ZIP,
OLDVERSIONS.YEAR_ENDING as YEAR_ENDING,
OLDVERSIONS.PHONE as PHONE,
OLDVERSIONS.DESCRIPTION as DESCRIPTION,
OLDVERSIONS.TOTALASSETS_FMV as TOTALASSETS_FMV,
OLDVERSIONS.COMP as COMP,
OLDVERSIONS.FORMYEAR as FORMYEAR,
OLDVERSIONS.FILEDDATE as FILEDDATE,
OLDVERSIONS.FAIRMARKETVALUEASSETS as FAIRMARKETVALUEASSETS,
OLDVERSIONS.LOCATION as LOCATION,
OLDVERSIONS.REVENUE as REVENUE,
OLDVERSIONS.ORGFORMYEAR as ORGFORMYEAR,
OLDVERSIONS.WEBSITE as WEBSITE,
OLDVERSIONS.HCITY as HCITY,
OLDVERSIONS.HSTATE as HSTATE,
OLDVERSIONS.HZIP as HZIP,
NEWVERSIONS.TITLE as TITLE_NEW,
NEWVERSIONS.RULING_YEAR as RULING_YEAR_NEW,
NEWVERSIONS.COMPANY as COMPANY_NEW,
NEWVERSIONS.LINE1 as LINE1_NEW,
NEWVERSIONS.CITY as CITY_NEW,
NEWVERSIONS.STATE as STATE_NEW,
NEWVERSIONS.ZIP as ZIP_NEW,
NEWVERSIONS.YEAR_ENDING as YEAR_ENDING_NEW,
NEWVERSIONS.PHONE as PHONE_NEW,
NEWVERSIONS.DESCRIPTION as DESCRIPTION_NEW,
NEWVERSIONS.TOTALASSETS_FMV as TOTALASSETS_FMV_NEW,
NEWVERSIONS.COMP as COMP_NEW,
NEWVERSIONS.FORMYEAR as FORMYEAR_NEW,
NEWVERSIONS.FILEDDATE as FILEDDATE_NEW,
NEWVERSIONS.FAIRMARKETVALUEASSETS as FAIRMARKETVALUEASSETS_NEW,
NEWVERSIONS.LOCATION as LOCATION_NEW,
NEWVERSIONS.REVENUE as REVENUE_NEW,
NEWVERSIONS.ORGFORMYEAR as ORGFORMYEAR_NEW,
NEWVERSIONS.WEBSITE as WEBSITE_NEW,
NEWVERSIONS.HCITY as HCITY_NEW,
NEWVERSIONS.HSTATE as HSTATE_NEW,
NEWVERSIONS.HZIP as HZIP_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)
TITLE,
RULING_YEAR,
COMPANY,
LINE1,
CITY,
STATE,
ZIP,
YEAR_ENDING,
PHONE,
DESCRIPTION,
TOTALASSETS_FMV,
COMP,
FORMYEAR,
FILEDDATE,
FAIRMARKETVALUEASSETS,
LOCATION,
REVENUE,
ORGFORMYEAR,
WEBSITE,
HCITY,
HSTATE,
HZIP,
TITLE_NEW,
RULING_YEAR_NEW,
COMPANY_NEW,
LINE1_NEW,
CITY_NEW,
STATE_NEW,
ZIP_NEW,
YEAR_ENDING_NEW,
PHONE_NEW,
DESCRIPTION_NEW,
TOTALASSETS_FMV_NEW,
COMP_NEW,
FORMYEAR_NEW,
FILEDDATE_NEW,
FAIRMARKETVALUEASSETS_NEW,
LOCATION_NEW,
REVENUE_NEW,
ORGFORMYEAR_NEW,
WEBSITE_NEW,
HCITY_NEW,
HSTATE_NEW,
HZIP_NEW
from
REVISIONS
)as SOURCEDATA
unpivot(
OLDVALUE for FIELDNAME IN(
--Insert Data Columns Here (Excluding "_NEW" Columns)
TITLE,
RULING_YEAR,
COMPANY,
LINE1,
CITY,
STATE,
ZIP,
YEAR_ENDING,
PHONE,
DESCRIPTION,
TOTALASSETS_FMV,
COMP,
FORMYEAR,
FILEDDATE,
FAIRMARKETVALUEASSETS,
LOCATION,
REVENUE,
ORGFORMYEAR,
WEBSITE,
HCITY,
HSTATE,
HZIP
))as UNPIVOTEDDATA1
unpivot(
NEWVALUE for FIELDNAME_NEW IN(
--Insert Data Columns Here (Only "_NEW" Columns)
TITLE_NEW,
RULING_YEAR_NEW,
COMPANY_NEW,
LINE1_NEW,
CITY_NEW,
STATE_NEW,
ZIP_NEW,
YEAR_ENDING_NEW,
PHONE_NEW,
DESCRIPTION_NEW,
TOTALASSETS_FMV_NEW,
COMP_NEW,
FORMYEAR_NEW,
FILEDDATE_NEW,
FAIRMARKETVALUEASSETS_NEW,
LOCATION_NEW,
REVENUE_NEW,
ORGFORMYEAR_NEW,
WEBSITE_NEW,
HCITY_NEW,
HSTATE_NEW,
HZIP_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 = 'WPPRIVATEFOUNDATION'
)