Оформление
Пример инкрементного увеличения
1. Обзор
1.1 История вопроса
В базе данных есть таблица, в которую каждый день добавляются данные за день. Эта таблица содержит большой объем данных, и ежедневное обновление всей таблицы займет много времени.
1.2 Идеи для решений
Используйте "Инкрементное обновление", чтобы ежедневно обновлять только новые данные, добавляемые в FineBI. Это избавляет от необходимости обновлять всю таблицу данных, что экономит время и ресурсы обновления.
Поскольку процесс инкрементного увеличения часто требует сравнения данных в базе с временем обновления системы, таблицы с временными метками лучше подходят для инкрементных обновлений.
2. Операционные шаги
Добавьте таблицу "Customer Registration Information Table" из базы данных MySQL в FineBI, пожалуйста, обратитесь к разделу "Добавление таблицы базы данных " для получения подробной информации.
Как видно на рисунке ниже, в этой таблице есть поле временной метки "Дата регистрации".

2.1 Настройка постепенного увеличения
1) Найдите в FineBI форму "Информация о регистрации клиента" и выберите "Обновить информацию > Обновление единой формы". Как показано на рисунке ниже:

2) Перейдите на страницу Single Table Update Settings, выберите "Incremental Increase" и введите SQL-оператор для получения числа, как показано на следующем рисунке:
Введенные операторы SQL должны быть синхронизированы с используемым языком базы данных, которым в данном примере является MySQL.

SELECT * FROM Таблица регистрации клиентов, где Дата регистрации > str_to_date('Время последнего обновления','%Y-%m-%d %H:%i:%s')
После того как этот SQL-оператор выберет данные, чья "Дата регистрации" больше, чем "Время последнего обновления", система добавит их в FineBI, чтобы добиться инкрементного обновления. Функция str_to_date используется для преобразования "времени последнего обновления" из строки в дату. Если вы используете другие базы данных, вам необходимо использовать другие функции, адаптированные к базе данных.
| системный параметр | инструкции |
|---|---|
| Последнее обновление | * Указывает время начала последнего обновления * Параметр представляет собой текстовый тип год, месяц, день, час, минута и секунда (например, 2017-12-22 12:00:00), который должен быть преобразован функцией в тип времени, чтобы сравнить его с другими полями типа времени * "Время последнего обновления" должно быть добавлено щелчком мыши, а не копированием. * Вместо ${_last_update_time_} SQL-запрос в этом примере можно записать как SELECT * FROM Таблица регистрационной информации клиента, где Дата регистрации > str_to_date(' ${_last_update_time_} ','%Y-%m- %d %H:%i:%s') |
| Текущее время обновления | * Указывает время начала этого обновления * Параметр представляет собой текстовый тип год, месяц, день, час, минута и секунда (например, 2019-12-22 12:00:00), который необходимо преобразовать в тип времени с помощью функции, чтобы сравнить его с другими полями типа времени. * "Текущее время обновления" должно быть добавлено щелчком мыши, а не копированием. * можно заменить на ${_current_update_time_}. |
Примечание: "Инкрементное обновление" - это обновление в строках, а инкрементное увеличение - это добавление строк непосредственно в таблицу данных, сохраненную в FineBI.
3) Нажмите кнопку "Предварительный просмотр", чтобы просмотреть данные, полученные из SQL-оператора, как показано ниже:

Если предварительный просмотр не удался, вы можете заменить "системный параметр" в операторе SQL на фиксированное значение даты и протестировать оператор в собственной базе данных, чтобы убедиться в его корректности.
4) Нажмите "Incremental Update > OK", и вы сможете сразу же выполнить инкрементное обновление данных, как показано ниже:

2.2 Эффекты просмотра
После завершения обновления просмотрите обновленную информацию таблицы Customer Registration Information Table. После обновления в таблицу были добавлены два элемента данных, как показано на следующем рисунке:

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

2.3 Настройка инкрементных обновлений по таймеру
Если пользователь хочет иметь возможность устанавливать инкрементные обновления по времени, как ему это сделать?
Снова войдите в интерфейс настройки обновлений, нажмите "Регулярное обновление", установите метод обновления на "Инкрементное обновление" и установите метод обновления раз в день. Как показано на рисунке ниже:

Подробнее о настройке обновлений по таймеру см. в разделе: Обновления по таймеру.