Skip to content

[Прямая ссылка] Параметры передачи компонентов фильтрации интервалов год-месяц

1. Обзор

1.1 Версия

Версия FineBIФункциональные изменения
6.0-
6.0.16Оптимизация интерфейса параметров привязки компонентов фильтра

1.2 Описание проблемы

Поскольку объем исходных табличных данных слишком велик, иногда это может привести к переполнению памяти или диска, поэтому обычно приходится использовать оператор where плюс условия фильтрации для управления объемом данных. Оператор where, за которым следует фиксированное значение, сделает количество негибким, в это время вы можете использовать параметры для динамического управления количеством данных BI, например, брать все данные в течение динамического периода времени.

Например, если в компоненте фильтра "Интервал год-месяц" выбрать данные за 2015 год, в таблице данных будут отображаться данные за 2015 год, как показано на следующем рисунке:

12.png

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.

21.png

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. Как показано на следующем рисунке:

11.png

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

Примечание 2: Значение по умолчанию можно выбрать произвольно, выбрав значение по умолчанию как пустое, т.е. выбрать все.

2.2 Производство столов для группировки

Добавьте компоненты, чтобы получить следующую таблицу группировки:

2023-12-20_19-35-08.png

2.3 Фильтрация параметров привязки компонентов

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

2023-12-20_19-36-09.png

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

Примечание: Поскольку все наборы данных SQL получают параметры в раскрывающемся окне Параметры привязки, лучше не использовать для них одинаковые имена параметров.

2023-12-20_19-38-12.png

2.4 Эффекты просмотра

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