USP_REPORT_DASHBOARD_DAILYADMISSIONCOUNT_BYDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FROMDATE | datetime | IN | |
@TODATE | datetime | IN |
Definition
Copy
create procedure dbo.USP_REPORT_DASHBOARD_DAILYADMISSIONCOUNT_BYDATE
(
@FROMDATE datetime = null,
@TODATE datetime = null
)
as
set nocount on;
declare @ADMISSIONDATES table(
TransactionDate date,
AdmissionCount int
);
insert into @ADMISSIONDATES
select TransactionDate, sum(AdmissionCount)
from dbo.UFN_REPORT_DASHBOARD_DAILYADMISSIONCOUNT_BASE(@FROMDATE, @TODATE)
group by TransactionDate;
-- Trim the range to exclude leading and trailing zeroes.
declare @MINDATE date, @MAXDATE date;
select
@MINDATE = coalesce(min(TransactionDate), @FROMDATE),
@MAXDATE = coalesce(max(TransactionDate), @TODATE)
from @ADMISSIONDATES;
-- Add zeroes for dates inside the range on which no orders were sold.
select
DATES.[DATE] TransactionDate,
coalesce(AdmissionCount, 0) AdmissionCount
from dbo.UFN_CALENDARDATES(@MINDATE, @MAXDATE, 1) DATES
left join @ADMISSIONDATES ADMISSION on DATES.[DATE] = ADMISSION.TransactionDate
order by [DATE];