USP_KPI_MEMBERSHIP_COUNT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VALUE | int | INOUT | |
@ASOFDATE | datetime | IN | |
@PROGRAMID | uniqueidentifier | IN | |
@TIERCODEID | uniqueidentifier | IN | |
@LEVELID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_KPI_MEMBERSHIP_COUNT
(
@VALUE int output,
@ASOFDATE datetime,
@PROGRAMID uniqueidentifier,
@TIERCODEID uniqueidentifier,
@LEVELID uniqueidentifier
)
as
set nocount on;
set @VALUE = 0;
select
@VALUE = count(*)
from
dbo.MEMBERSHIP
cross apply
dbo.UFN_MEMBERSHIP_LATESTTRANSACTIONASOF(MEMBERSHIP.ID, @ASOFDATE) as LATESTMEMBERSHIPTRANSACTION
inner join
dbo.MEMBERSHIPLEVEL on LATESTMEMBERSHIPTRANSACTION.MEMBERSHIPLEVELID = MEMBERSHIPLEVEL.ID
outer apply
dbo.UFN_MEMBERSHIPTRANSACTION_CALCULATEMEMBERSHIPSTATUSCODE(LATESTMEMBERSHIPTRANSACTION.ID, @ASOFDATE) as MEMBERSHIPSTATUS
where
MEMBERSHIP.MEMBERSHIPPROGRAMID = @PROGRAMID
and (@LEVELID is null or LATESTMEMBERSHIPTRANSACTION.MEMBERSHIPLEVELID = @LEVELID)
and (@TIERCODEID is null or MEMBERSHIPLEVEL.TIERCODEID = @TIERCODEID)
and MEMBERSHIPSTATUS.STATUSCODE = 0; -- Active
return @VALUE;