<< Click to Display Table of Contents >> 定制排序复制链接 |
1. 概述
1.1 功能简介
定制排序,需要用户自定义类,定义排序规则,并按照规则对数据进行排序。
1.2 应用场景
若需要自定义排序规则,可以使用此功能。
2. 操作步骤
1)在本地的产品安装目录“......\vividime Z-Suite\vividime\product”下新建一个定制排序的Java文件,命名为CustomizedSort4.java,定义如下排序规则。
import java.util.*;
public class CustomizedSort4 implements Comparator<String> {
/**
* Constructor.
*/
public CustomizedSort4() {
arr = new ArrayList<String>();
arr.add("Ohio");
arr.add("Illinois");
arr.add("Wisconsin");
arr.add("Missouri");
arr.add("Iowa");
}
@Override
public int compare(String o1, String o2) {
int idx1 = arr.indexOf(o1);
int idx2 = arr.indexOf(o2);
return idx1 - idx2;
}
private List<String> arr;
}
2)将CustomizedSort4.java文件编译成CustomizedSort4.class文件。
a)先设置环境变量,不同的操作系统书写方式不同。
Windows:set classpath=.;D:\ZS9422\vividime Z-Suite\vividime\product\product.jar
Linux、MacOS:export classpath=.:D:/ZS9422/vividime Z-Suite/vividime/product/product.jar
➢说明:
不同的系统的目录分隔符不同,Windows用“;”,Linux、MacOS系统用“:”。
b)在当前路径下执行以下命令生成CustomizedSort4.class文件。
javac CustomizedSort4.java
3)根据上一步CustomizedSort4.class文件存放的位置,配置定制类读取路径。
方式一(推荐):
生成的CustomizedSort4.class文件后存放于产品安装目录“......\vividime Z-Suite\tomcat\webapps\bi\WEB-INF\classes”即可。
方式二:
生成的CustomizedSort4.class文件后存放于任意目录。
添加CustomizedSort4.class文件到CLASSPATH,不同的操作系统所使用的文件不同。
•Windows:请将CustomizedSort4.class文件所在路径添加到产品 “..\tomcat\bin \setclasspath.bat”的CLASSPATH中。
•Linux/MacOS:请将CustomizedSort4.class文件所在路径添加到产品 “..\tomcat\bin \setclasspath.sh”的CLASSPATH中。
4)配置完成后,重启BI服务器。若配置了热加载目录,也可以不用重启BI服务器,参考热加载章节。
5)新建报表,绑定数据字段,下拉选择【更多排序 > 定制排序】。
6)输入定义好的.class类文件名“CustomizedSort4”,即可使用定义好的排序规则完成定制排序,结果如下。
可以看到,定制排序结果和定义的规则保持一致。