Ich muss die folgende T-SQL-Anweisung ändern, um einen rollierenden 7-Tage-Durchschnitt des Umsatzes zu enthalten.7-Tage-Durchschnitt in SQL Server 2014
Was muss ich in den folgenden Code aufnehmen, um das zu erreichen?
SELECT
CAST(create_dtg AS DATE) DATE,
SUM([agent_rev] + [anchor_rev] + [corp_rev] + [offsite_rev]) AS RevenueTotals,
SUM([media_est_cost] + [other_cost]) AS COSTTOTALS
FROM
[dbo].[dw_rpt_traffic]
WHERE
[create_dtg] >= (Getdate() - 90)
--GROUP BY CREATE_DTG
--ORDER BY CREATE_DTG ASC
Ich habe auch versucht, Partion durch, aber dies gibt den gleichen Wert wie die Revenuetotals.
Select a.dte, a.revenuetotals, a.COSTTOTALS, AVG(A.RevenueTotals) OVER (PARTITION BY a.dte ORDER BY a.dte ROWS 7 PRECEDING) as Day7Avg
from
(
select CAST(CREATE_DTG AS DATE) as dte,
SUM([AGENT_REV]+[ANCHOR_REV]+[CORP_REV]+[OFFSITE_REV]) as RevenueTotals,
SUM([MEDIA_EST_COST]+[OTHER_COST]) as COSTTOTALS
FROM [dbo].[dw_rpt_traffic]
where [CREATE_DTG] >= (GetDate() - 90)
GROUP BY CREATE_DTG
) as A
Group by a.dte, a.revenuetotals, a.COSTTOTALS
order by a.dte
Danke, Karen
Welche Version von SQL Server suchen Sie? –
Er verwendet SQL-Server (T-SQL). Ich habe die Frage präzisiert und den Code so formuliert, dass er lesbar ist. Sollte jetzt helfen! –