В отделах продаж и маркетинга часто устанавливаются цели для отдельных сотрудников или групп на каждый год. В то время как у компаний есть стандартные показатели и панели мониторинга для отслеживания общей производительности, сотрудникам необходим способ просмотра подробных цифр за текущий месяц, квартал или год, чтобы увидеть, как они приближаются к своим целям. В этой статье мы рассмотрим, как создать отчет, который показывает накопительные суммы продаж за текущий месяц, квартал и год в одном сводном отчете с использованием SQL Server Reporting Services (SSRS).
Решение
Для решения этой проблемы мы будем использовать функцию “RunningValue” в SSRS. Эта функция позволяет нам вычислять накопительные агрегаты на основе указанной области. В нашем случае мы будем использовать ее для вычисления накопительных сумм продаж за текущий месяц, квартал и год.
Во-первых, предположим, что целевая сумма продаж для отдельного сотрудника установлена на $120,000 за весь год. Это означает, что сотрудник должен достигать $10,000 каждый месяц в среднем, чтобы достичь цели. Мы будем использовать образец набора данных с месячными данными о продажах для демонстрации решения.
Вот пример запроса для создания образца данных:
SELECT
YEAR([PeriodEndDate]) AS [Year],
CASE
WHEN MONTH([PeriodEndDate]) BETWEEN 1 AND 3 THEN 'Q1'
WHEN MONTH([PeriodEndDate]) BETWEEN 4 AND 6 THEN 'Q2'
WHEN MONTH([PeriodEndDate]) BETWEEN 7 AND 9 THEN 'Q3'
WHEN MONTH([PeriodEndDate]) BETWEEN 10 AND 12 THEN 'Q4'
END AS [Quarter],
MONTH([PeriodEndDate]) AS [MonthNumber],
DATENAME(MONTH,[PeriodEndDate]) AS [Month],
[ActualSales],
[TargetSales]
FROM
(VALUES
('2011-01-31', 11000, 120000/12),
('2011-02-28', 8000, 120000/12),
('2011-03-31', 12000, 120000/12),
('2011-04-30', 10000, 120000/12),
('2011-05-31', 12000, 120000/12),
('2011-06-30', 11000, 120000/12),
('2011-07-31', 9000, 120000/12),
('2011-08-31', 8000, 120000/12),
('2011-09-30', 12000, 120000/12),
('2011-10-31', 11000, 120000/12),
('2011-11-30', 9000, 120000/12),
('2011-12-31', 10000, 120000/12)
) AS SalesDetails([PeriodEndDate], [ActualSales], [TargetSales])
После получения образца данных мы можем приступить к созданию отчета:
- Создайте новый проект сервера отчетов в SQL Server Business Intelligence Development Studio (BIDS) и назовите его “SSRSDemo”.
- Добавьте новый отчет в проект и назовите его “SSRSCumulativeAggregates”.
- Создайте новый источник данных, указывающий на базу данных SQL Server.
- Создайте новый набор данных, используя запрос образца данных.
- Добавьте элемент управления таблицей на поверхность дизайна отчета.
- Обновите структуру таблицы и добавьте необходимые группы строк для года, квартала и месяца.
- Обновите метки ячеек и выражения для отображения фактических и целевых сумм продаж, а также накопительных агрегатов с использованием функции “RunningValue”.
- Примените форматирование к ячейкам таблицы для улучшения читаемости.
- Просмотрите отчет, чтобы увидеть накопительные суммы продаж для каждого месяца, квартала и года.
Используя функцию “RunningValue” в SSRS, мы легко можем показать накопительные агрегаты в нашем отчете. Это позволяет пользователям сравнивать фактические продажи с целевыми продажами в любой момент и принимать обоснованные решения на основе данных.
Резюме:
Создание накопительного отчета о продажах в SQL Server с использованием SSRS – это простой процесс. Используя функцию “RunningValue”, мы можем вычислять накопительные агрегаты для текущего месяца, квартала и года. Это предоставляет сотрудникам подробное представление о прогрессе в достижении их целей и помогает им планировать соответствующим образом.
Если вас интересует сравнение средних фактических продаж с средними целевыми продажами, вы можете изменить функцию “RunningValue”, чтобы использовать агрегацию “Avg” вместо “Sum”.