Skip to content

[Прямая ссылка] Компонент фильтрации текста, передающий параметры

1. Обзор

1.1 Версия

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

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

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

Существует два типа передачи параметров для компонента текстового фильтра:

Первый - когда компонент текстового фильтра пуст, в таблице данных нет данных, вы можете ввести нужное поле в текстовом выпадающем окне, например, введите "11011" и введите, таблица данных автоматически отфильтрует данные с "номером магазина" "11011", как показано на следующем рисунке:

27.gif

Второй тип текста может быть выбран для фильтрации в выпадающем поле, не нужно вводить вручную, а поддерживается проверка полного выбора, эффект показан на рисунке ниже:

31.gif

1.3 Идеи для реализации

Пример первый:

1) Добавьте набор данных SQL и настройте параметр "Номер магазина" в операторе SQL.

2) Используйте компонент "Text Dropdown Filter Component" в панели инструментов для привязки параметров.

Пример второй:

1) Добавьте набор данных SQL и настройте параметр "Номер магазина" в операторе SQL.

2) Добавьте набор данных SQL без настройки параметров.

3) Используйте "Компонент фильтра с выпадающим текстом" в панели инструментов для привязки параметров и используйте поле "Номер магазина" в наборе данных без настройки параметров в качестве выпадающего компонента фильтра.

Примечание: В настоящее время только компонент Text Filter и компонент Date Class Filter предоставляют функцию передачи параметра.

2. Пример 1: Ручная фильтрация входных данных

2.1 Создание наборов данных SQL

1) Если у вас есть функции "Прямые данные" и "Извлечение данных", вам нужно переключиться на "Прямые данные" в списке данных, а затем выбрать "Public Data", щелкнуть, чтобы ввести бизнес-пакет под группировкой, а затем щелкнуть "Добавить набор данных>Добавить набор данных SQL", как показано на следующем рисунке:

Примечание: Только пользователи Обработки данных могут создавать наборы данных SQL.

21.png

2) Прежде всего, необходимо создать параметр "Номер магазина" в наборе данных SQL. Задайте имя таблицы как "Информация о магазине", введите SQL-оператор с параметром: select * from NEW_DIAN where shop number in ('${параметр номера магазина}'), т. е. задайте "номер магазина" в качестве параметра и назовите его как "Параметр номера магазина", нажмите параметр "Обновить" и выберите значение по умолчанию как 11011, нажмите "ОК" для сохранения, как показано ниже. Нажмите "OK" для сохранения, как показано на рисунке ниже:

22.png

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

Примечание 2: Метод записи параметров SQL можно посмотреть в разделе: Пример записи параметров набора данных SQL.

Если "Тип параметра" - "Текст", и вы хотите показать более одного значения по умолчанию в предварительном просмотре, вы можете ввести, например, 11011','11012', тогда интерфейс предварительного просмотра покажет соответствующие два данных, как показано на следующем рисунке:

24.png

Примечание: Несколько значений по умолчанию оформляются в виде: значение параметра 1', значение параметра 2.

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

Создайте компонент, выбрав для типа диаграммы "Таблица группировки", перетащите поля, как показано ниже:

2023-12-20_19-44-57.png

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

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

2023-12-20_19-46-43.png

2) Отметьте "Bind Parameters" и привяжите SQL-параметр "Store Number Parameter" в настройках, как показано ниже:

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

2023-12-20_19-47-45.png

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

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

3. пример 2: фильтрация выбора в раскрывающемся окне

Фильтровать компоненты только по связанным параметрам можно только вручную, если вам нужно иметь выпадающее поле, вам нужно связать поле, чтобы обеспечить содержимое выпадающего поля. В этом разделе описывается, как достичь привязки параметров одновременно, чтобы добиться эффекта выпадающего поля для выбора поля.

Требование к реализации: Таблица, в которой находится связанное поле, не может иметь связанный параметр "Параметр номера магазина".

3.1 Подготовка данных

3.1.1 Создание наборов данных SQL с параметрами

1) Пользователь обработки данных Выберите "Public Data", введите бизнес-пакет и нажмите "Add Dataset > Add SQL Dataset", как показано ниже:

21.png

2) Во-первых, необходимо создать параметр "Номер магазина" в наборе данных SQL.

Установите имя таблицы как "Информация о магазине", введите SQL-оператор с параметром: select * from NEW_DIAN where shop number in ('${параметр номера магазина}'), т.е. установите "номер магазина" в качестве параметра и назовите его как "Параметр номера магазина", нажмите Parameter Setting "Refresh", и выберите значение по умолчанию как 11011, нажмите "OK". Сохраните, как показано на рисунке ниже:

22.png

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

Примечание 2: Метод записи параметров SQL можно посмотреть в разделе: Пример записи параметров набора данных SQL.

Если "Тип параметра" - "Текст", и вы хотите показать более одного значения по умолчанию в предварительном просмотре, вы можете ввести, например, 11011','11012', тогда интерфейс предварительного просмотра покажет соответствующие два данных, как показано на следующем рисунке:

24.png

Примечание: Несколько значений по умолчанию оформляются в виде: значение параметра 1', значение параметра 2.

3.1.2 Создание наборов данных SQL без параметров

Основная цель этого шага - получить полные данные о "номере магазина", чтобы в выпадающем окне можно было выбрать все номера магазинов.

Используя ту же таблицу данных, введите : select * from NEW_DIAN, чтобы создать набор данных SQL без параметров, как показано ниже:

27.png

3.1.3 Добавление данных

Создайте тему анализа и добавьте две таблицы данных. Это показано на рисунке ниже:

2023-12-20_19-51-44.png

3.2 Производство таблиц группировки

Создайте компонент, выбрав для типа диаграммы "Таблица группировки", перетащите поля, как показано ниже:

2023-12-20_19-44-57.png

3.3 Параметры и поля привязки компонента фильтра

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

25.png

2) Отметьте "Bind Parameters" и привяжите SQL-параметр "Store Number Parameter" в настройках, как показано ниже:

2023-12-20_19-47-45.png

3) Чтобы отобразить все данные о номерах магазинов в выпадающем окне, необходимо использовать поле "Номер магазина" из "Таблицы магазинов (без параметров)" и перетащить его в колонку поля компонента фильтра, как показано на следующем рисунке:

29.png

Примечание 1: Кнопка "Связать параметры" появится только после того, как обычный пользователь получит разрешение на набор данных с параметрами.

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

3.4 Фильтрация номеров магазинов путем фильтрации названий магазинов

В этот момент пользователи могут подумать, что нелегко запомнить поле ID номера магазина, выбранного с помощью фильтрации в раскрывающемся окне, а существующие данные таковы, что номер магазина соответствует названию магазина, поэтому они хотят выбрать название магазина непосредственно для фильтрации.

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

2023-12-20_19-57-59.png

В этот момент при фильтрации якобы фильтруется название магазина, но на самом деле фильтруется номер магазина.

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

Более подробная информация приведена в разделе 1.2 данного документа.

4. условия

Существует два способа использования компонента фильтра: использование с ограничениями по параметрам, описанное выше, и обычное использование компонента фильтра.

В стандартном случае "Примера 2" функция компонента фильтра - параметр, т.е. область управления компонента фильтра связанного поля может фильтровать только компонент таблицы данных, созданный таблицей "Магазины" с параметром, как показано на следующем рисунке:

32.png

Если вы хотите отфильтровать компоненты в соответствии с примером 2, вы также можете отфильтровать компоненты, созданные с помощью таблицы "Store Dimension" без параметров, в которой находятся связанные поля. Вы можете перейти в окно настройки "Параметры BI" в разделе "System Management > Управление системой > Общие" и включить кнопку "Эффективная фильтрация управления параметрами SQL", как показано на следующем рисунке:

33.png

34.png