Оформление
Фильтр отображения "натурального месяца" в годовом исчислении (графики без данных о дате) - Справка FineReport | Разработка отчетов | Отчеты | Учебные пособия
Отфильтровано для отображения сравнения "натуральный месяц" за год (без данных о дате для графиков)
1. Обзор
[helpvideo]5659[/helpvideo]Онлайн-превью: фильтр для отображения "Натуральный месяц" по сравнению с предыдущим годом (без данных о дате для графиков)
Пользователи могут нажать кнопку "Сохранить как тему", чтобы повторить все действия самостоятельно, или просмотреть шаги внутреннего редактирования.
1.1 Сценарии применения
Компонент не содержит поля даты, и хотелось бы иметь возможность отфильтровать дату через компонент фильтра, чтобы получить ту же цепочку событий для натурального месяца, на который приходится дата.
В этой статье сравнивается натуральный месяц одного и того же кольца, если пользователь хочет устранить разницу в количестве дней в месяце, например, сравнить 1-30 июля с 1-30 июня, можно обратиться к: используйте фильтр интервала даты для отображения сравнения год к году
Например, если вы введете "2014-03-01" в компоненте Date Filter, компонент автоматически отфильтрует суммы контрактов в каждой провинции в марте 2014 года и рассчитает сравнение сумм контрактов в марте за год. Как показано на рисунке ниже:

1.2 Идеи для реализации
Это достигается путем добавления компонента фильтрации даты по несвязанному полю в сочетании с вычисляемым показателем.
В данной работе используется тот же расчет цепочки для натуральных месяцев.
2. Операционные шаги
2.1 Добавление компонентов
Создайте новую тему анализа и добавьте в нее встроенные данные "Статистика данных провинциальных и муниципальных контрактов", как показано ниже:

Затем создайте новый компонент, который будет использовать эти данные, как показано ниже:

2.2 Новые параметры
Поскольку мы хотим вычислить отсеянную когорту, которая может меняться динамически, нам нужно использовать параметры, чтобы сделать ее динамической.
Добавьте параметр для типа времени на экране редактирования компонента, как показано на следующем рисунке:

Сгенерированные параметры сохраняются в анализируемой области, как показано ниже:

2.3 Расчет общей цены контракта за текущий месяц, предыдущий месяц и аналогичный период прошлого года
Год к году = (общая цена контракта за текущий месяц - общая цена контракта за тот же период прошлого года)/общая цена контракта за тот же период прошлого года *100 процентов
Коэффициент цепочки = (общая цена контракта за текущий месяц - общая цена контракта за предыдущий месяц)/общая цена контракта за предыдущий месяц *100 процентов
Итак, чтобы потребовать данные за месяц и месяц за месяц, нам нужны три новых поля: "Общая цена контракта за текущий месяц", "Общая цена контракта за аналогичный период прошлого года" и "Общая цена контракта за предыдущий месяц". Все эти три новых поля должны быть привязаны к нашим недавно созданным параметрам. Для этого нужно выполнить следующие шаги:
2.3.1 Расчет "общей цены контракта за месяц"
1) Скопируйте поле "Общая цена контракта" и назовите его "Общая цена контракта за месяц".
(2) Выполните детальную фильтрацию поля "Общая цена контракта за месяц". В результате фильтрации общая цена контракта фильтруется, чтобы получить данные за месяц на дату, выбранную компонентом фильтра даты.

2.3.2 Расчет "Паушальной цены контракта за тот же период прошлого года"
1) Скопируйте поле "Сумма контракта" и назовите его "Сумма контракта за аналогичный период прошлого года".
(2) Детально отфильтруйте поле "Общая цена контракта за аналогичный период прошлого года". Эффект фильтрации заключается в том, что общая цена контракта фильтруется, чтобы получить данные за весь месяц за год до даты, выбранной компонентом фильтра даты.

2.3.3 Расчет "общей цены контракта за последний месяц"
1) Скопируйте поле "Сумма контракта" и назовите его "Сумма контракта за последний месяц".
(2) Отфильтруйте данные "Общая цена контракта за предыдущий месяц". Эффект фильтрации заключается в том, что общая цена контракта фильтруется для получения данных за предыдущий месяц на дату, выбранную компонентом фильтра даты.

2.4 Расчет коэффициентов за год
Поля, необходимые для расчета коэффициента YoY, были рассчитаны выше, и следующим шагом будет расчет коэффициента YoY.
2.4.1 Расчет поля "Год за годом"
Добавьте поле расчета за год и введите формулу: if(ISNULL(sum_agg(общая цена контракта в прошлом году за тот же период)),null,(sum_agg(общая цена контракта в текущем месяце) - sum_agg(общая цена контракта в прошлом году за тот же период))/sum_agg(общая цена контракта в прошлом году за тот же период))
Здесь мы разделили формулу на две части для удобства понимания пользователем:
| факторизация | описания | файл справки |
|---|---|---|
| if(ISNULL (sum_agg(общая цена контракта за аналогичный период прошлого года)),null ,год к году ) | Если в поле "Общая цена контракта за аналогичный период прошлого года" нет значения, то это поле "Год за год" будет пустым, в противном случае будет рассчитано значение год за год. | SUM_AG - СуммированиеISNULL |
| Год к году = (sum_agg(общая цена контракта за текущий месяц) -sum_agg(общая цена контракта за аналогичный период прошлого года))/sum_agg(общая цена контракта за аналогичный период прошлого года) | Рассчитайте значение за год. | SUM_AG - Суммирование |

2.4.2 Расчет поля "Кольцо"
Добавьте поле Ring Calculation. введите формулу: if(ISNULL(sum_agg(общая цена контракта за последний месяц)),null,(sum_agg(общая цена контракта за текущий месяц)-sum_agg(общая цена контракта за последний месяц))/sum_agg(общая цена контракта за последний месяц))
Здесь формула также разделена на две части для удобства понимания пользователем:
| факторизация | описания | Используемые функции |
|---|---|---|
| if(ISNULL (sum_agg(общая цена контракта за последний месяц)),null ,ring ) | Если значение "Общая цена контракта за последний месяц" отсутствует, то поле "Кольцо" будет пустым, в противном случае будет рассчитано значение кольца. | SUM_AG - СуммированиеISNULL |
| Коэффициент цепочки = (sum_agg(общая цена контракта за месяц) -sum_agg(общая цена контракта за предыдущий месяц))/sum_agg(общая цена контракта за предыдущий месяц) | Рассчитайте стоимость кольца. | SUM_AG - Суммирование |

2.5 Производство таблиц группировки
После того как все поля рассчитаны, можно легко сделать компонент диаграммы.
Здесь мы создаем таблицу группировки, перетаскиваем поля в область анализа и меняем формат значений для "Год за год, г/г" на процентный. Это показано на рисунке ниже:

Примечание: Поскольку здесь не выбрана дата, общая цена контракта в одной и той же провинции за текущий месяц, предыдущий месяц и аналогичный период прошлого года равны, поэтому соотношение год к году равно 0. Когда компонент фильтра даты выберет дату, он отобразит то же соотношение для соответствующего времени.
2.6 Создание приборных панелей
1) Создайте новую приборную панель и добавьте в нее компоненты, как показано ниже:

2) Добавьте компонент Date Filter на приборную панель, как показано ниже:

(3) на параметрах привязки компонента фильтрации для достижения даты фильтрации компонента фильтрации, которая является динамической датой наших новых параметров, как показано ниже:

3. просмотр результатов
На приборной панели выполните фильтр по дате. Вы сможете увидеть общую стоимость контракта за выбранную дату в текущем месяце, общую стоимость контракта за предыдущий месяц и г/г, а также общую стоимость контракта за аналогичный период прошлого года и г/г. Более подробную информацию см. в сценариях применения в этой статье.
Примечание: Если это недопустимое время. Компонент отображается как нулевой.
