Как считать показатели год-к-году (YoY) в отчете по периодам
Очень полезно бывает знать как изменился показатель по отношению тому же месяцу или кварталу за прошлый год.
Для эого используем показать год к году - YOY.
Его формула
((Б – А) / А) * 100
Как технически это вывести в отчете по периодам?
При вычислении дат начала и конца периода для недель, месяцев и кварталов дополнительно вычисляем даты аналогичного периода, но за прошлый год (@yoydate и @yoydate2):
declare @yoyDate date, @yoyDate2 date
while (@date< getdate() ) begin
set @yoyDate= NULL
set @yoyDate2= NULL
set @date2= dateadd(day, 1, @date)
set @name = convert(nvarchar, @date, 104)
if(@filterIntervalType='weeks') begin
set @date2= dateadd(week, 1, @date)
set @name = 'Week '+ cast(datepart(week, @date) as nvarchar);
end
if(@filterIntervalType='months') begin
set @date2= dateadd(month, 1, @date)
set @name =FORMAT(@date, 'MMMM', 'ru-ru') + ' ' + cast(datepart(year, @date) as nvarchar);
end
if(@filterIntervalType='quarters') begin
set @date2= dateadd(quarter, 1, @date)
set @name =datename(quarter, @date) + ' ' + cast(datepart(year, @date) as nvarchar);
end
set @yoyDate= dateadd(year, -1, @date)
set @yoyDate2= dateadd(year, -1, @date2)
if(@filterIntervalType='years') begin
set @date2= dateadd(year, 1, @date)
set @name = cast(datepart(year, @date) as nvarchar);
end
.....
end
Далее при вычислении показателя, мы вычисляем показатель за период и показатель за предыдущий период:
select
isnull( (select cast(sum(isnull(valueFloat, 0)) as nvarchar) from [as_mt_outerValues]
where code='falcon-visitors' and itemID='d'
and date >= @date and date < @date2), 0) falcon_visits,
isnull( (select cast(sum(isnull(valueFloat, 0)) as nvarchar) from [as_mt_outerValues]
where code='falcon-visitors' and itemID='d'
and date >= @yoyDate and date < @yoyDate2), 0) falcon_visitsPrev
.....
В итоге в таблице выводим прирост показателя через функцию с разметкой:
-- SELECT 1
select falcon_visits,
dbo.[as_yoy](falcon_visits, falcon_visitsPrev) desc_falcon_visits
Сама функция выглядит так:
CREATE OR ALTER FUNCTION [dbo].[as_yoy]
(
@cur decimal(18,2),
@prev decimal(18,2)
)
RETURNS nvarchar(256) as
BEGIN
return '<span title="За этот же период в прошлом году изменение. В прошлом году - '+cast(@prev as nvarchar)+'" class="'+iif(@cur>@prev, 'text-success', 'text-danger')+' font-weight-bold">'+
cast( cast((((@cur - @prev) * 100/ nullif(@prev, 0)) ) as int) as nvarchar) +'%'+
'</span>'
END
В подсказке выводится значение за предыдущий период.
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Google поиск по нашей документации
- Руководства Введение в веб-платформу Falcon Space. C чего начать? Мануал для начинающего разработчика Falcon Space Видео о создании личных кабинетов на сайте - веб-платформе Falcon Space Пример создания системы по учету Кадры (HR) на сайте Вопросы и ответы для тех, кто начал разрабатывать на Falcon Space Как создать таблицу на сайте по шагам Как создать форму на сайте по шагам Как создать дашборд в личном кабинете пользователя Как сделать локализацию сайта для нетехнического специалиста Как отслеживать историю действий пользователя или историю событий по объекту системы Создание страниц с компонентом таблица/форма с автогенерацией необходимых SQL процедур Как улучшить свой код - заметки по ревизии кода на платформе Falcon Space Как сделать отслеживание посещений сайта конкретными людьми? Как сделать аналитический отчет или таблицу на сайте Как сделать функционал оценки полезности материала Подробное описание процесса создания формы Обратная связь Создание из под editor структуры личных кабинетов (роли, страницы) Улучшение адаптации страниц под мобильные устройства Соблюдение порядка в проекте в процессе сопровождения сайта Как считать показатели год-к-году (YoY) в отчете по периодам Создание системы уведомлений из внешних источников (через API)
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта