Оформление
Пользовательские функции для сращивания строк
1. Обзор
1.1 Ожидаемое воздействие
Вы можете использовать функцию StringCat в BI для объединения строк, например, чтобы объединить "ID контракта" и "Тип оплаты контракта" в "Таблице фактов контракта" в одно поле, как показано на следующем рисунке:

Примечание: Функции и поля в окне формул должны быть выбраны щелчком мыши в области выбора слева и не могут быть введены вручную.
1.2 Идеи для реализации
AbstractFunction реализует интерфейс Function, поэтому StringCat может наследовать класс AbstractFunction напрямую.
Использование функции StringCat(Para,Para,Para.....) При использовании функции StringCat(Para,Para,Para) вы получаете класс StringCat, который запускает функцию в соответствии с ее названием, передаете аргументы в массив объектов args класса, а затем выполняете функцию run класса. Функция run конкатенирует входящие аргументы в виде строки. И возвращает итоговую строку.
Примечание: правила определения пользовательских функций, подробности см. в разделе " Введение в пользовательские функции ".
1.3 Введение в функции
Функция StringCat : Функция предназначена для конкатенации всех аргументов в виде строки.
Правила использования функции StringCat для StringCat(Para,Para,Para.......) Para - это параметр функции, количество параметров не ограничено.
2. пример: методология I
Примечание: Эта программа не поддерживает FineBI, установленный с помощью EXE.
2.1 Запись файлов Java
Напишите файл StringCat.javaсо следующим кодом функции:
package com.fr.function; import com.fr.script.AbstractFunction; public class StringCat extends
AbstractFunction { public Object run(Object[] args) { String result = ""; Object&
nbsp;para; for (int i = 0; i < args.length; i++) { para = args[i]; result&
nbsp;+= para.toString(); } return result; } }2.2 Компиляция файла класса
2.2.1 Подготовка среды компиляции
Дополнительную информацию см. в разделе:Компиляция программ Java
2.2.2 Создание файла класса
Скомпилируйте StringCat.java, чтобы создать класс StringCat.class.
2.2.3 Импорт файлов классов
Поместите скомпилированный StringCat.class в каталог установки FineBI в папку %FineBI%\webapps\webroot\WEB-INF\classes\com\fr\functions, как показано на следующем рисунке:
Примечание: Если в каталоге WEB-INF нет соответствующей директории, вы можете просто создать новую.

2.3 Использование пользовательских функций
После перезапуска FineBI вы можете использовать его напрямую, и его использование не отличается от использования встроенных функций.
Например, при добавлении индикаторов расчета другие функции можно увидеть под ранее настроенной функцией Stringcat, нажав на функцию, можно добавить ее в формулу для использования, как показано на рисунке ниже:

Объединив "Идентификатор договора" и "Тип оплаты по договору" в таблице "Факты по договору" в одно поле, введите формулу: StringCat(Идентификатор договора, "", Тип оплаты по договору), как показано ниже:

Примечание: Функции и поля в окне формул должны быть выбраны щелчком мыши в области выбора слева и не могут быть введены вручную.
2.5 Эффекты просмотра
Подробности см. в разделе 1.1 данного документа.
3. пример: методология II
См. раздел 2.1 2.2.1 2.2.2 для компиляции файла StringCat.class .
3.1 Импорт файлов классов
Сохраните файл StringCat.class в каталоге %FineBI%\webapps\webroot\WEB-INF\classes\com\fr\function , как показано ниже:

Файл может быть сохранен в любом месте каталога проекта FineBI, но он должен соответствовать расположению под пакетом в java-файле, как в этом примере:
пакет com.fr.function;Поэтому вам нужно хранить файл класса в каталоге %FineBI%\webapps\webroot\WEB-INF\classes\com\fr\function .
Если код:
пакет ком;Затем вы можете сохранить файл под %FineBI%\webapps\webroot\WEB-INF\classes\com .
3.2 Регистрация пользовательских функций
Класс, генерирующий эту функцию, должен быть зарегистрирован в дизайнере FineReport, прежде чем вы сможете его использовать.
Используйте FineReport Designer для удаленного подключения к проекту FineBI, откройте Server > Function Manager, добавьте функцию и назовите ее "StringCat", выберите определенный класс StringCat и сохраните ее, как показано ниже:

3.3 Использование пользовательских функций
После перезапуска FineBI вы можете использовать его напрямую, и его использование не отличается от использования встроенных функций.
Примечание: После регистрации и отмены удаленного подключения пользовательская функция все еще может быть использована.
3.4 Эффекты просмотра
Подробности см. в разделе 1.1 данного документа.