Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH CTE_Revenue AS(
- SELECT c.Clinic,
- c.ClinicID,
- SUM(td.Amount)*-1 AS Revenue,
- p.PeriodID,
- p.FiscalYear
- FROM Trans.TransactionHeader th
- JOIN Clinic.[Master] c
- ON (th.ClinicID = c.ClinicID)
- JOIN Trans.TransactionDetail td
- ON (th.ClinicID = td.ClinicID AND th.TranNum = td.TranNum)
- JOIN Clinic.EOD e
- ON (th.ClinicID = e.ClinicID AND th.TranNum BETWEEN e.StartTran AND e.EndTran)
- JOIN Clinic.Period p
- ON (CAST(e.TimeRan AS date) BETWEEN p.PeriodStart AND p.PeriodEnd)
- AND th.Impacts='C'
- GROUP BY c.Clinic, c.ClinicID, p.PeriodID, p.FiscalYear)
- SELECT w.Clinic,
- w.Revenue,
- (w.Revenue / days.CurrentDays) AS DailyAverage,
- (w.Revenue / days.CurrentDays)*d.PeriodDays AS ProjectedRevenue
- FROM CTE_Revenue w
- JOIN Clinic.Dates d
- ON (w.ClinicID = d.ClinicID AND w.PeriodID = d.PeriodID AND w.FiscalYear = d.FiscalYear)
- JOIN ( SELECT DISTINCT
- td.ClinicID,
- COUNT(DISTINCT td.DateEntered) AS CurrentDays,
- p.PeriodID,
- p.FiscalYear
- FROM Trans.TransactionDetail td
- JOIN Clinic.Period p
- ON td.DateEntered BETWEEN p.PeriodStart AND p.PeriodEnd
- GROUP BY td.ClinicID, p.PeriodID, p.FiscalYear) AS days
- ON (w.ClinicID = days.ClinicID AND w.PeriodID=days.PeriodID AND w.FiscalYear = days.FiscalYear)
- WHERE w.FiscalYear = 2016
- AND w.PeriodID = 9
- SELECT w.Clinic,
- w.Revenue,
- (w.Revenue / days.CurrentDays) AS DailyAverage,
- (w.Revenue / days.CurrentDays)*d.PeriodDays AS ProjectedRevenue,
- PrevYear.Revenue,
- (PrevYear.Revenue / PrevYear.CurrentDays) AS PYDailyAverage,
- (PrevYear.Revenue / PrevYear.CurrentDays)*d.PeriodDays AS PYCalculated
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement