USP_GET_MEMBERSHIP_USAGE_TRACKING_DATA
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@LastProcessingDate | datetime | IN | |
@ProductName | varchar(4) | IN |
Definition
Copy
create procedure dbo.USP_GET_MEMBERSHIP_USAGE_TRACKING_DATA(
@LastProcessingDate DateTime,
@ProductName varchar(4)
)
as
begin
DECLARE @OrganizationDetails NVARCHAR(400)
SELECT @OrganizationDetails = CLARIFYSITEID,
@OrganizationDetails = @OrganizationDetails + ' - '
+ INSTALLATIONNAME
FROM dbo.INSTALLATIONINFO;
WITH MEMBERSHIP_TRANSACTION_INFORMATION(MembershipTransactionsID, PartTypeID, PageName, Currency)
AS (SELECT ID,
CASE
WHEN Charindex('PartTypeID', CONVERT(VARCHAR(max), XMLObjectData)) > 0
THEN Substring(CONVERT(VARCHAR(max), XMLObjectData), ( Patindex('%<PartTypeID>%', CONVERT(VARCHAR(max), XMLObjectData)) + 12 ),
/* Calculate SUBSTRING length as end - start. */
( Patindex('%</PartTypeID>%', CONVERT(VARCHAR(max), XMLObjectData)) - ( Patindex('%<PartTypeID>%', CONVERT(VARCHAR(max), XMLObjectData)) + 12 ) ))
ELSE NULL
END AS PartId,
CASE
WHEN Charindex('PageName', CONVERT(VARCHAR(max), XMLObjectData)) > 0
THEN Substring(CONVERT(VARCHAR(max), XMLObjectData), ( Patindex('%<PageName>%', CONVERT(VARCHAR(max), XMLObjectData)) + 10 ),
/* Calculate SUBSTRING length as end - start. */
( Patindex('%</PageName>%', CONVERT(VARCHAR(max), XMLObjectData)) - ( Patindex('%<PageName>%', CONVERT(VARCHAR(max), XMLObjectData)) + 10 ) ))
ELSE NULL
END AS PageName,
CASE
WHEN Charindex('CurrencyType', CONVERT(VARCHAR(max), XMLObjectData)) > 0
THEN Substring(CONVERT(VARCHAR(max), XMLObjectData), ( Patindex('%<CurrencyType xmlns="urn:blackbaud.RE7.XDATA">%', CONVERT(VARCHAR(max), XMLObjectData)) + 46 ),
/* Calculate SUBSTRING length as end - start. */
( Patindex('%</CurrencyType>%', CONVERT(VARCHAR(max), XMLObjectData)) - ( Patindex('%<CurrencyType xmlns="urn:blackbaud.RE7.XDATA">%', CONVERT(VARCHAR(max), XMLObjectData)) + 46 ) ))
ELSE NULL
END AS Currency
FROM dbo.MEMBERSHIPTRANSACTIONS
WHERE MEMBERSHIPTRANSACTIONS.Status = 1
AND IsDeleted = 0)
SELECT @ProductName + '-' + 'OnlineMemberships' + '-'
+ @OrganizationDetails AS 'Group',
CONTENTTYPES.NAME AS PartType,
MEMBERSHIP_TRANSACTION_INFORMATION.PageName AS PageName,
Year(MEMBERSHIPTRANSACTIONS.DateAdded) AS TransactionYear,
Month(MEMBERSHIPTRANSACTIONS.DateAdded) AS TransactionMonth,
Day(MEMBERSHIPTRANSACTIONS.DateAdded) AS TransactionDay,
Count(MEMBERSHIPTRANSACTIONS.ID) AS TotalTransactionsCountForTheDay,
Sum(MEMBERSHIPTRANSACTIONS.GiftAmount) AS TotalTransactionsAmountForTheDay,
MEMBERSHIP_TRANSACTION_INFORMATION.Currency AS Currency,
MAX(MEMBERSHIPTRANSACTIONS.DateAdded) AS MaxTransactionDate
FROM dbo.MEMBERSHIPTRANSACTIONS
INNER JOIN MEMBERSHIP_TRANSACTION_INFORMATION
ON MEMBERSHIP_TRANSACTION_INFORMATION.MembershipTransactionsID = MEMBERSHIPTRANSACTIONS.ID
INNER JOIN dbo.CONTENTTYPES
ON CONTENTTYPES.id = MEMBERSHIP_TRANSACTION_INFORMATION.PartTypeID
WHERE MEMBERSHIPTRANSACTIONS.DateAdded > @LastProcessingDate
GROUP BY
CONTENTTYPES.NAME,
MEMBERSHIP_TRANSACTION_INFORMATION.PageName,
Year(MEMBERSHIPTRANSACTIONS.DateAdded),
Month(MEMBERSHIPTRANSACTIONS.DateAdded),
Day(MEMBERSHIPTRANSACTIONS.DateAdded),
MEMBERSHIP_TRANSACTION_INFORMATION.Currency
ORDER BY
Year(MEMBERSHIPTRANSACTIONS.DateAdded),
Month(MEMBERSHIPTRANSACTIONS.DateAdded)
end