Хотите узнать, можете ли вы помочь мне скопировать формулу с Excel на SQL Server 2008. То, что мы пытаемся сделать, - подсчитать количество повторных вызовов с того момента, когда клиент звонит и тестирует если они вернутся через 7 дней. Я выполнил упражнение ниже в excel, однако мне сложно создавать те же результаты в SQL.Подсчитайте количество повторных звонящих в течение 7-дневной минутки
Формула Repeat Flag в основном рассчитывает количество записей после даты ID и в течение 7 дней. I.e 2222 от 24/03/2015 имеет 4 звонка в течение 7 дней.
Repeat Flag formula =COUNTIFS(B:B,B2,A:A,">" &A2,A:A,"<"&A2+8)
Date ID Repeat Flag
23/03/2015 1111 0
24/03/2015 2222 4
25/03/2015 2222 3
26/03/2015 2222 2
27/03/2015 3333 5
28/03/2015 2222 1
29/03/2015 2222 0
30/03/2015 3333 7
31/03/2015 3333 7
1/04/2015 3333 7
2/04/2015 3333 7
3/04/2015 3333 7
4/04/2015 3333 7
5/04/2015 3333 6
6/04/2015 3333 5
7/04/2015 3333 4
8/04/2015 3333 3
9/04/2015 3333 2
10/04/2015 3333 1
11/04/2015 3333 0
Вот моя SQL попытка:
SELECT [CallID]
,[Date]
,[ID]
,[NoRepeat7days]
,[RepeatFlag]
, (SELECT count(CALLID) as CountR
FROM [CustomerData].[dbo].[RepeatCallers_testdata]
WHERE [ID] = [ID] AND
([Date] BETWEEN [Date] AND [Date]+7)) as ft
FROM [CustomerData].[dbo].[RepeatCallers_testdata]
Вы почти правы. Вам нужно назначить псевдоним для основного запроса, чтобы убедиться, что SQL Server понимает, что вы имели в виду под вашим [ID] = [ID] ' – cha