Я пытаюсь создать запрос для подведения итогов еженедельных продаж. У меня есть две команды отдела продаж (может быть больше по времени) и продавец, назначенный на каждую команду. Мне нужно рассчитать% продаж по группе и по отдельности внутри команды.
Я бы хотел, чтобы вместо сгенерированного VBA был сформирован постоянный запрос. Я знаю, что могу создать временную таблицу, используя сгенерированные VB операторы CREATE и INSERT, но таблица не будет обновляться при добавлении информации в таблицу продаж.
После создания этого запроса мне нужно будет создать по крайней мере, еще два запроса, в которых проценты от этих данных рассчитываются так, как эта информация будет требоваться при открытии формы.
Результирующий запрос должен вывести что-то вроде следующего примера, учитывая, что недельный диапазон может быть фильтруется в предложении WHERE с 1-й по 1-ю неделю и имеет строки ALL ID_SALES (от 1 до X) из таблицы SALESTEAM, каждая из которых является собственным столбцом.
This are the tables to extract the data from
TABLE Sales
ID as AutoNumber
ID_CUSTOMER AS Number
ID_SALES as Number
SaleDate as Date/Time
SalesAmt as Currency
END TABLE
TABLE SALESTEAM
ID_SALES as AutoNumber
Name as String
StartDate as Date/Time
EndDate as Date/Time
Active as Yes/No
AssignedTo as Number
END TABLE
This would be a sample construct of the SELECT if made statically for the current records in SalesTeam Table using the All ID_Sales from all records
SELECT DatePart("yyyy", SalesDate) as SalesYear, DatePart("ww", SalesDate) as SalesWeek,
(SUM(SalesAmt) FROM SALES WHERE ID_Sales = 1 AND SalesDate BETWEEN @StartDate AND @EndDate) as Sales1,
(SUM(SalesAmt) FROM SALES WHERE ID_Sales = 2 AND SalesDate BETWEEN @StartDate AND @EndDate) as Sales2,
(SUM(SalesAmt) FROM SALES WHERE ID_Sales = 3 AND SalesDate BETWEEN @StartDate AND @EndDate) as Sales3,
...
(SUM(SalesAmt) FROM SALES WHERE ID_Sales = X AND SalesDate BETWEEN @StartDate AND @EndDate) as SalesX
FROM Sales GROUP BY SalesYear, SalesWeek ORDER BY SalesYear, SalesWeek
+------+----------------------------------------------------------------------+
| WEEK | ID_SALES |
+------+----------------------------------------------------------------------+
| WEEK | 1 | 2 | ... | X |
+------+------------------+------------------+-------------+------------------+
+ W1 | SUM(SALESAMT) | SUM(SALESAMT) | ... | SUM(SALESAMT) |
+ | WK1 ID_SALES = 1 | WK1 ID_SALES = 2 | ... | WK1 ID_SALES = X |
+------+------------------+------------------+-------------+------------------+
| | | | | |
+------+------------------+------------------+-------------+------------------+
+ WY | SUM(SALESAMT) | SUM(SALESAMT) | ... | SUM(SALESAMT) |
+ | WKY ID_SALES = 1 | WKY ID_SALES = 2 | ... | WKY ID_SALES = X |
+------+------------------+------------------+-------------+------------------+