saiku中多cube排序问题
如题,一个schema中如果有多个cube(常有),那cube之间是如何排序显示的?
我们看一下OlapMetaExplorer.java文件的getConnection方法,其中有一行
Collections.sort(cubes, new SaikuCubeCaptionComparator());
这个就是为cubes排序的,而他的排序规则是SaikuCubeCaptionComparator,看一下SaikuCubeCaptionComparator的代码:
public class SaikuCubeCaptionComparator implements Comparator<SaikuCube> { public int compare( SaikuCube o1, SaikuCube o2 ) {
if ( o1.getCaption() == null || o2.getCaption() == null ) {
return 0;
}
return o1.getCaption().compareTo( o2.getCaption() );
}
}
其中java.lang.String.compareTo() 方法比较两个字符串的字典。比较是基于字符串中的每个字符的Unicode值,这就不符合我想要的效果
所以我修改了OlapMetaExplorer.java文件的getConnection方法:
// Collections.sort(cubes, new SaikuCubeCaptionComparator());
Collections.sort(cubes);
这样一来所有的cube就会name属性的按照首字母顺序来排序,之后我再修改所有cube的name属性(因为页面显示的时候显示的是caption属性的值,name属性可以任意修改):
<Cube name="1APPAZLTJ" caption="%{cube.name.APPAZLTJ}" visible="true" cache="false" enabled="true">
<Cube name="2YHZCSLTJ" caption="%{cube.name.YHZCSLTJ}" visible="true" cache="false" enabled="true">
<Cube name="3YHZXZLFX(NIAN)" caption="%{cube.name.YHZXZLFX(NIAN)}" visible="true" cache="false" enabled="true">
这样就可以按照我想要的顺序来显示了
saiku中多cube排序问题的更多相关文章
- 【转】Kylin中的cube构建
http://blog.csdn.net/yu616568/article/details/50365240 前言 在使用Kylin的时候,最重要的一步就是创建cube的模型定义,即指定度量和维度 ...
- GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
oracle group by中rollup和cube的区别: Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句.CUBE ROLLUP 是用于统计数据的. 实验 ...
- @NamedEntityGraphs --JPA按实体类对象参数中的字段排序问题得解决方法
JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntit ...
- 问题:oracle 排序 null值放在最后;结果: ORACLE中null的排序问题
ORACLE中null的排序问题 关键字: oracle nulls 问题描述: 在平时的业务处理中,经常遇到要对业务数据进行排序,并且要对null值也做相应的排序.在Oracle中,进行Ord ...
- saiku中默认级别all的国际化
在制作saiku的schema文件的时候,当你选择层次的属性hasAll为true的时候,系统默认会为你的层次添加一个“(all)”级别,你无法给它增加一个caption属性来国际化它,因为他不是你创 ...
- 【SQL】面面俱到 | 在SQL中使用CUBE和ROLLUP实现数据多维汇总
偶然在网上看到一篇文章,讲到数据汇总,提到了CUBE,感觉有些晦涩,想试着自己表述一下.同时,个人也认为CUBE还是很有用的,对SQL或数据分析感兴趣的小伙伴不妨了解一下,或许有用呢! 先设定个需求, ...
- 2018/04/04 PHP 中的 数组排序问题
简单说一下为什么要总结一下PHP中关于数组排序的问题. 在很多时候我们对于数组要进行排序,但是 PHP 中对于排序已经有了很多封装. 但是某些函数是修改原数组,一部分是返回修改后数组,与其一个个试,不 ...
- Python中的各种排序问题
小书匠python排序 本章目录,快速浏览所需内容: 基本的排序 1.列表(list) 1.1按列表元素大小排序 1.2按列表元素的属性 2.字典(dictory) 3.元组(tuple)排序 3.1 ...
- postgresql中的CUBE函数
数据函数简介添加汇总额外信息 数据 --复杂统计函数 CREATE TABLE t3 (color_type varchar(20), in_date varchar(30),color_count ...
随机推荐
- ODI 11g Studio 修改界面语言
{ODI_HOME}/oracledi\client\ide\bin找到ide.conf 添加AddVMOption -Duser.language=enAddVMOption -Duser.regi ...
- VC操作Image的三种方法(收集)
忘记从哪来收集过来的资料了,暂且不管是哪位老兄写的,只道一声谢谢. 仅管VC有提供相应的API和类来操作bmp位图.图标和(增强)元文件,但却不支持jpg.gif和png等格式的图片,而这几种格式却是 ...
- EventBus源码解析
用例 本文主要按照如下例子展开: //1. 新建bus对象,默认仅能在主线程上对消息进行调度 Bus bus = new Bus(); // maybe singleton //2. 新建类A(sub ...
- POJ 2429 GCD & LCM Inverse(Pollard_Rho+dfs)
[题目链接] http://poj.org/problem?id=2429 [题目大意] 给出最大公约数和最小公倍数,满足要求的x和y,且x+y最小 [题解] 我们发现,(x/gcd)*(y/gcd) ...
- wx.Dialog
wx.Dialog A dialog box is a window with a title bar and sometimes a system menu, which can be moved ...
- 分布式拒绝服务攻击(DDoS)原理及防范【转】
DDoS攻击概念 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应. DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击 ...
- BNUOJ27873:A Special "Happy Birthday" Song!!!
There are n people (excluding myself) in my 30th birthday party. They sing the traditional "hap ...
- C-Free 您不能使用调试解决方案
什么时候C-Free 当您调试 找不到gdb.exe解决方案 http://www.programarts.com/ C-Free 官方网站 下载Mingw或者其他编译器 版权声明:本文博主原创文章. ...
- 【POJ 1125】Stockbroker Grapevine
id=1125">[POJ 1125]Stockbroker Grapevine 最短路 只是这题数据非常水. . 主要想大牛们试试南阳OJ同题 链接例如以下: http://acm. ...
- ActionBar隐藏修改图标和标题
有时候在一些子页面或者内容页面,不需要显示ActionBar的标题栏图标.可用如下方式进行设置. 首先获取到ActionBar对象 ActionBar actionBar=getActionBar() ...