Оформление
[Прямая ссылка] Параметры передачи компонентов фильтрации интервалов год-месяц
1. Обзор
1.1 Версия
| Версия FineBI | Функциональные изменения |
|---|---|
| 6.0 | - |
| 6.0.16 | Оптимизация интерфейса параметров привязки компонентов фильтра |
1.2 Описание проблемы
Поскольку объем исходных табличных данных слишком велик, иногда это может привести к переполнению памяти или диска, поэтому обычно приходится использовать оператор where плюс условия фильтрации для управления объемом данных. Оператор where, за которым следует фиксированное значение, сделает количество негибким, в это время вы можете использовать параметры для динамического управления количеством данных BI, например, брать все данные в течение динамического периода времени.
Например, если в компоненте фильтра "Интервал год-месяц" выбрать данные за 2015 год, в таблице данных будут отображаться данные за 2015 год, как показано на следующем рисунке:

1.3 Идеи для реализации
1) Добавьте набор данных SQL и настройте два параметра в операторе SQL: время начала и время окончания.
2) Используйте параметр привязки "Компонент фильтрации интервала год-месяц" на панели инструментов, чтобы отфильтровать данные за весь 2015 год.
2. Операционные шаги
Пример данных: [таблица статистики доступа в Интернет .xlsx](doc-download-/finebiuploads/file/20220928/互联网访问统计表 .xlsx.md)
Загрузите данные примера и загрузите их в SQL Server.
2.1 Добавление набора данных SQL
1) Если у вас есть функции "Извлечение данных" и "Прямые данные", вам нужно переключиться на "Прямые данные" в списке данных.Затем в открытых данныхнажмите "Новый набор данных SQL Dataset", как показано ниже:
Примечание: Только пользователи Обработки данных могут создавать наборы данных SQL.

2) Назовите набор данных "Internet Access Data", выберите подключение к данным и введите SQL-запрос с параметрами, SELECT * FROM Internet Access Data WHERE format(statistical date,'yyyyMM') >= concat('${start year}',case when &# 39;${start month}'>9 then '${start month}' else concat(0,'${start month}') end ) и format(statistical date,'yyyyMM') >= concat('${start year}') 39;${начальный месяц}'>9 then '${начальный месяц}'else concat(0,'${начальный месяц}') end ) and format(statistics date,'yyyyMM') <=concat('${доYear}',case when '${As of Month}'>9 then '${As of Month}'else concat(0,'${As of Month}') end ), нажмите Refresh, выберите тип параметра как 'Date' и выберите значение по умолчанию, нажмите OK. Как показано на следующем рисунке:

Примечание 1: Это пример записи SQL для компонента фильтрации интервалов год-месяц, в разных базах данных используются разные способы записи, в этой статье приведен только справочный пример, для получения подробной информации о других типах записи параметров SQL, пожалуйста, обратитесь к разделу: Пример записи параметров набора данных SQL.
Примечание 2: Значение по умолчанию можно выбрать произвольно, выбрав значение по умолчанию как пустое, т.е. выбрать все.
2.2 Производство столов для группировки
Добавьте компоненты, чтобы получить следующую таблицу группировки:

2.3 Фильтрация параметров привязки компонентов
1) Добавьте приборную панель, перетащите созданную таблицу группировки на приборную панель. И добавьте компонент фильтра "Интервал года и месяца", как показано ниже:

2) Отметьте "Bind Parameters", привяжите параметры SQL к начальному времени в настройках, "Year" начального времени привязывается к "Start Year", "Month" привязывается к "Start Month"; то же самое для конечного времени, как показано на следующем рисунке:
Примечание: Поскольку все наборы данных SQL получают параметры в раскрывающемся окне Параметры привязки, лучше не использовать для них одинаковые имена параметров.

2.4 Эффекты просмотра
Подробности см. в разделе 1.2 данного документа.