BI开发问题总结-暂存
mysql的时区错误问题解决方式:
show variables like '%time_zone%';
set global time_zone='+8:00';
6.0
P+63p42o/NtPWdsG4CEUd1w-L83-V6.0-C10-E10-N10-D350888c2efe1be-M131071-S1991051622
10个g的考虑集群
计算的时候内存还占用了未分配给永洪的。(分配的是在计算,未分配的是存计算的集)所以分配内存最好值最大可用内存的一半
1,为什么有表格滚动条在表格里面,有的在表格外面
回答:表格的宽度大于屏幕的展示了,滚动条就在表上面
2,url传参数,多个的话: &dt=YORK^aCOCK 中间用^a 分割。
7.5变成了!a!
门户样式的url
解决 http://localhost:8090/bi/Viewer?proc=9&req=804&resource=portalViewer&path=1111,localhost改为自己的ip,1111改为门户样式的名字即可
3,管理员admin的权限给弄没有了,有什么办法恢复
回答:yonghong/yonghong/bihome/secure下把admin.principal和version.properties文件删除后重启tomcat。
4,超链接传参后进入新的页面,参数组件中数据和参数值有关,想要跳转过来时过滤组件上默认选择一个值。
回答:列表参数1.setSelectedObjects(列表参数1.getObjects()[0], STRING)
5,报错:参数组件'列表参数1'绑定的查询不应该有同名的参数。
错误:无法删除组件等
回答:列表参数中加了过滤器,字段是等于自己,造成死循环了。
6,获取 一个自由式表格中某一个单元格的值
var a=getData("自由式表格1", DATA)
debug(a.get(0,0))
7,报错:unknown column 'sub1_qryname.addrdistrict from 1 for 4'),'00')' in 'field list
原因:组合查询是关联字段的类型不一致造成的
8,发送邮件主题自定义
主题处直接写:
?{_THIS_YEAR_} ?{_THIS_MONTH_} ?{_THIS_DAY_}
下个月
?{_THIS_YEAR_} ?{_LAST_MONTH_} ?{_THIS_DAY_}
9,回话
secure.session.timeout=0
默认1800000
10,设置跳转到某一页面的超链接,然后结果出现跳转到我们永洪首页
可能是web系统挪了文件夹位置或者报表文件位置引起的
决办法 设置里面重新点一遍超链接 然后保存
11,编辑正常,预览报错:没有绑定任何数据库列
新建的表达式,内容只有参数,绑定的时候只绑定了这个参数的表达式。
方法:任意绑定一个原有的字段即可。
12,打开报表第一次打开报错,在打开正常,报错:执行数据失败:执行SQL失败:'Io 异常: Connection reset by peer: socket write error'
是说连接数据库的连接被干掉了
conn.oracle.rac.reuse=false 在bi.properties中加入这句 然后重新启动永洪
意思是每次都创建一个新的连接。
13,问题:场景1:(四达)参数组件中有值,初次打开时不起过滤作用,需要再次点击改变后才会生效。(sql中写了该参数名字)
场景2:(电信云数据)文本参数设置为日期型,选择了默认的初始值,sql中写了该参数值,初始打开时报错(参数值为空的原因)即参数值未传到sql
方法:页面装载时脚本: param[‘参数名’]=getViewerdata(“参数名”)
14,用度两组时度两组_name字段绑定在颜色那编辑颜色报错。
原因:度量字段选择了空,选sum后可以。
15,配置邮箱
【邮箱地址】输入用户邮箱地址信息。
【发送服务器】输入与邮箱地址相匹配的发送服务器信息。
【SSL 端口】不勾选,端口号为 25 ;勾选,端口号为 465。
【修改密码】勾选后,密码与确认密码输入框变为高亮,为可编辑状态。
【密码】输入与邮箱地址相对应的密码。
【确认密码】再次输入邮箱登录密码,要求与密码输入框中输入的信息一致。
16,连接数据处预览有数据但现实行数时显示为0;编辑报告有数据预览时没有数据
查看sql发现是sql的问题,where条件中字段等于值,值为字符串,没有加引号,加了引号后发现就是空数据集
17,共享轴脚本实现:
图表1.binding.axis["Sum_profit"].shareGroup = "g1";
图表1.binding.blend=4//设置重叠
18,访问localhost:8080/biiewer 返回404
启动tomcat闪退
回答/:
(关闭防火墙)
确认产品装在本地的还是装在服务器
假如装在本地,可以输入localhost:8080/bi/dviewer访问
假如装在服务器,需要输入服务器的地址:8080
假如尝试过两种,tomcat启动没有报错,但是输入网址返回404,那么需要考虑
假如之前手动配置了一个tomcat,要在startup.bat里面写个东西 指定tomcat的路径
环境冲突问题
startup.bat中
SET CATALINA_BASE=D:\Yonghong\tomcat
SET CATALINA_HOME=D:\Yonghong\tomcat
SET CATALINA_TMPDIR=D:\Yonghong\tomcat\temp
SET CLASSPATH=D:\Yonghong\tomcat\bin\bootstrap.jar
setpathclass.bat中
SET JAVA_HOME=D:\Yonghong\jdk
SET JRE_HOME=D:\Yonghong\jre
19,ie8,excel文件导出乱码
回答/:
因为名称的名字过长,参考:http://www.cr173.com/html/4093_1.html
20,一台机器上部署了多套节点,会造成节点通信问题
在所有节点的yonghong/yonghong/bihome/global_bi.properties里面添加:数字是自己定义的,节点直接一样就行
dc.io.sport=5056
dc.io.fport=5073
21,可以在Excel中进行一下行列转置的处理http://jingyan.baidu.com/article/f96699bbae9acd894f3c1b4d.html
22,Redshift是AWS的数据仓库,其本身对中文字符的支持的确不是很友好
现象,绑定字段后数据库有数据,编辑报告页面可能有数据,但是预览和查看报告时无数据,绑定字段后有中文别名造成的,起个别名把中文去掉即可。
23,架构是B/S即浏览器服务器的模式
24,亿方云:https://www.fangcloud.com
cherryjiang@yonghongtech.com
yhcons2016
25,永洪集群中,节点间通过Socket协议进行数据传输,默认通信端口是
5083,5066
dc.io.sport=5083
dc.io.fport=5066
上面是global_bi.properties里面的,都改成一样的,比如 5085 506
26,linux中文字体:
下载中文语言包msyh
(链接:http://pan.baidu.com/s/1b7FZyQ?密码:tk0z)
3?解压后放在服务器路径/usr/share/fonts下(注意这里是将mysh文件夹放进去,里面包含三个字体)
4?将mysh下的三个ttc文件,放在linux下永洪所使用的的jdk安装路径/ jdk / jre/ lib/ fonts目录下(这里是将三个字体文件直接放进去,不需要文件夹)
5?重启tomcat即可
论坛地址:http://www.yonghongtech.com/webbbs/forum.php?mod=viewthread&tid=44&extra=page%3D1
27,查看报告和预览都只显示5百万条数据,实际 大于5百万
bi.properties中添加:max.load.rows=5000000
28,把一列中某个内容替换
var a=col['列2'];
a.replace("大门", "")
29,返回大于等于指定的最小值,小于指定最大值之间的一个随机整数。
例如: randbetween(1, 100)>=1 && randbetween(1, 100)<=100
30,H5 Browser
支持IE11,Chrome(52,53,54),Firefox(48,49)版本。
PC端查看报告默认用H5展示,如果是IE11以下版本,则还是用Flash打开。
查看报告的操作模式如果是“编辑模式”,则还是用Flash打开。
查看报告的操作模式如果是“分析模式”或“查看模式”,右键不开放绑定。
不支持页面设置。
不支持渐变方式。
H5和Flash的有些组件显示可能存在差异。
如果要Disable H5,可以在bi.properties中配置viewerManager.h5=false。
31,E8浏览器下载的时候,一闪而过
回答/:
在Internet选项—>安全->自定义设置->安全设置—>找到“下载”,
将“文件下载的自动提示”修改为“启用”,重新尝试下载
32,谷歌浏览器,连接数据页面左边的中文为问号???,英文正常
回答/:
linux字符集问题。(参考链接:http://www.oschina.net/question/17_6118?fromerr=RAKTMNPz)
是不是发现使用 putty ssh 登陆 RedHat AsX 或者 CenterOS 之类 Linux 系统的时候, 里边所有出现的中文字符都会变成?..
这么你就需要修改一下字符编码的配置。
# cd /etc/sysconfig
# vi i18n
-------------------文件内容------------------
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
-----------------------:qw 保存退出-------------------------
33,同步数据查询报错:366
是否有新建表达式,数组越界了
34,license过期页面提示内容修改:
invalid.license.inform=
如果中文先转换为unicode
35,超链接导出excle:
http://localhost:7070/bi/Viewer?proc=1&action=viewer&export=excel&db=报表名称
36,选择"GENERIC",自定义数据库类型
37,报表也面设置固定工具栏,门户处无效
回答:门户组件右击有一个设置,固定工具栏
38,脚本设置轴
图表1.binding.axis["Sum_SALES"].axisPosition=-1 //轴的位置。
图表1.binding.axis["Sum_SALES"].base=100000 //基值。
图表1.binding.axis["Sum_SALES"].majorIncrement=50000 //主要刻度。
图表1.binding.axis["Sum_SALES"].max=300000 //最大值。
图表1.binding.axis["Sum_SALES"].min=100000 //最小值。
图表1.binding.axis["Sum_SALES"].minorIncrement=10000 //次要刻度。
图表1.binding.axis["MARKET"].reversed=false //维度轴显示值反转。
39,查看报告页面,想要多个表展示
回答/:
bi.properties里面配置
dbportal.opendb.frame=_blank
_self是打开自己
_blank是打开新的页面
40;大屏跳转报错:^534e^^4e3a^^5b89^^5168^^90e8^^95e8^^2f^^
c端登录查看报表都是正常的,大屏跳转报错。
发现是跳转的url后面跟着的浏览器参数造成的,把参数去掉即可。
41,获取小数位,保留小数位
var a=6.1111111
debug(round(a,3)) //方法1
debug(a.toFixed(2)) //方法2
42,oracle数据库,数据类型是BLOB,不支持入集市。会报错。直连数据库正常使用。
43,部署7.0的webapi,当发现安装文档操作完全没有问题的情况下,访问不到页面
是因为Yonghong\tomcat\webapps\bi\WEB-INF下的web.xml文件中多了句话,去掉即可
<servlet-mapping>
<servlet-name>ViewerServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
意思是过滤掉url访问的端口后的部分,不输入直接访问的主页面。
上一句是:
<servlet-mapping>
<servlet-name>ViewerServlet</servlet-name>
<url-pattern>/Viewer</url-pattern>
</servlet-mapping>
这句话的意思是过滤掉url访问的端口后/bi后的内容,不输入Viewer时会进入主页面,如果加了webapi部署会走webapi
44,普通表和自由式表格脚本隐藏显示单元格
1.普通表格
var loc0=new Locator(["销售额"],3,2);
行表头区域:var loc=new Locator([],ROW, HEADER);
2.自由式表格
var loc = new Locator(["c-0"], COL, DETAIL);
//c-0代表第一列,c-1代表第二列
自由式表格1.setColWidth(loc, 190)
//c是column的意思。c-0,不是减号,是指向,”杠“的意思。指的是第一列。就是先取得第一列的对象,然后将第一列的宽度设置为190
自由表高度:
var loc=new Locator(["r-3"],ROW,DETAIL);
自由式表格1.setRowHeight(loc,200)
自由表行表头区域:
var loc=new Locator(["r-1"],ROW,HEADER);
自由式表格1.setRowHeight(loc,20)
45,交叉表动态修改高级排序的字段:
脚本如下:详见附件例子(7.0.2导出的)
var a=列表参数1.getSelectedObjects()[0]
//debug(a)
var bcol = new BCol("会员ID",DOUBLE, false);
var a1 = new MeasureCol(SUM,bcol,null);
var bcol1= new BCol("年龄",DOUBLE, false);
var a2= new MeasureCol(SUM,bcol1,null);
if(a=="1") {
var col = 交叉表1.binding.getRowHeader(0);
col.sortBy=a1
交叉表1.binding.setRowHeader(0, col)
}else{
var col = 交叉表1.binding.getRowHeader(0);
col.sortBy=a2
交叉表1.binding.setRowHeader(0, col)
}
46,自由表如何排名计算
对度两列排好序,前一个或者后一个单元格选:脚本表达式(查询)
输入ridx+1
//47,表格无限循环
48:报错:超过了最大允许定义的用户数量,请通知管理员。 ---------此报错可以看license是不是n几 n几 加上admin一共能建立的用户数,超过了会报此错误,删除用户即可。
报错:超过最大允许用户数,请通知管理员剔除多余用户 ---------admin和g5登陆,查看报告--监控系统--用户登录信息统计,剔除其他用户。
咱们有两种license,一种是限制最多创建用户数,支持的并发数是最大创建用户数的2倍。
一种是限制最大并发数,这种不限制创建的用户数,
同一个账号多人登录算多个并发,不限制一个账号最多有多少人登录。
V5.0 版本5.0以上
C10 数据集市10核
U10 10个并发数,同时可登录10个用户 {同一台机子 开3个IE窗口访问,相当于三个并发}同一机器同一帐号登录,不管打开几个页面,并发算一个并发用户
N10 可以创建10个用户(admin算是其中一个),最大并发数20
并发数是按不同的session数来定的,同一台电脑不同浏览器是不同的session,不开通权限的话是无法退出的,关闭浏览器后session没有立马退出要等一会才退出,会在成其他人还是登陆不上去。
49:修改页面属性的任意值,点击确定或者应用后 报错:类型强制转化异常。 点击取消后,再次进入属性发现修改成功。
设置了获取实时数据,但此参数的类型应该为布尔型,修改了这个类型会出现此问题,修改回来即可。
50:join函数:
将两个任意的查询执行后的查询结果,做联接,并返回新的查询结果。要求做映射的关键字段的数据类
型要匹配。
join(Scriptable scope, int jhint, int jop, Object jleft, Object jright, Object jlkeys, Object jrkeys,
Object jlcols, Object jrcols)
参数:
scope 是指运行此脚本的作用域,通常用this,表示当前作用域。
jhint 是join 的提示。LEFT_MAIN 左表为主, RIGHT_MAIN 右表为主, FINAL_JOIN 是最终表,
TEMP_JOIN 是个临时表,会被回收的表。
jop 是连接操作符。JOIN 是内连接; LEFT_JOIN 左连接; RIGHT_JOIN 右连接; FULL_JOIN
全连接。
jleft 左表
jright 右表
jlkeys 左表的连接的字段
jrkeys 右表的连接的字段
jlcols 左表的留下哪些字段
jrcols 右表的留下哪些字段
返回:
一个查询的结果
举例:
join(this, FINAL_JOIN | LEFT_MAIN, LEFT_JOIN, query1, query2, [1], [3], [1,2], [3,1]);// 左表
query1 的第1 列和右表query2 的第3 列连接,留下query1 的1 和2 列, query2 的3 和1 列。
51:获取日期过滤的值
var start=日期过滤1.firstDates[0]
var a=start.substring(1,(start.length()))
var b=a.split("-")
param['first']=b[0]+"-"+(parseInt(b[1])+1)+"-"+b[2]
之前:错误点在于 3月30号获取的是2月30号,2月没有30号,转化为时间时会出现问题。
(常用脚本的word文档中7,动态获取日历的日期脚本是错误的)
var start=Calendar1.firstDates[0]
var a0=parseDate(start.substring(1,(start.length())),'yyyy-MM-dd');
var aa=dateAdd(a0,"month",1);
param['first']=formatDate(aa,"yyyy-MM-dd")
52:文本的背景颜色,字体颜色
var color = new Color(java.awt.Color.RED);
var color1 = new Color(java.awt.Color.YELLOW);
var loc = new Locator([], OBJECT, DETAIL);
文本1.setForeground(loc, color1) //字体颜色
文本1.setBackground(loc, color); //背景颜色
文本边框颜色:
整体:
var color = new Color(java.awt.Color.RED);
var loc = new Locator([], OBJECT, DETAIL);
文本1.setBorderColor(loc, color)
分着:
var color = new Color(java.awt.Color.RED);
var color1 = new Color(java.awt.Color.YELLOW);
var color3 = [color1, color2, color1, color2];
var loc = new Locator([], OBJECT, DETAIL);
文本1.setBorderColors(loc, color3)
文本边框格式
var c = new Insets(THICK_LINE, THICK_LINE, THICK_LINE, THICK_LINE);
var loc = new Locator([], OBJECT, DETAIL);
文本2.setBorders(loc,c)
对文本进行字体,是否加粗(BOLD加粗,PLAIN不加粗),字号;字体颜色设置(0x默认写上后面加上色值)
var gf = new GFont("Microsoft YaHei", BOLD, 16);
var gf2 = new GFont("Microsoft YaHei", PLAIN, 14);
var color1 = new Color(0x313131)
var color2 = new Color(0x4F8AF2)
var loc = new Locator([], OBJECT, DETAIL);
文本3.setForeground(loc, color2)
文本3.setFont(loc, gf);
文本4.setForeground(loc, color1)
文本4.setFont(loc, gf2);
文本5.setForeground(loc, color1)
文本5.setFont(loc, gf2);
边框类型相应的常量说明
NO_BORDER Constants.NO_BORDER 无边框
VERY_THIN_LINE Constants.VERY_THIN_LINE 较细
THIN_LINE Constants.THIN_LINE 细线
MEDIUM_LINE Constants.MEDIUM_LINE 中等
THICK_LINE Constants.THICK_LINE 粗线
DOT_LINE Constants.DOT_LINE 点线
DASH_LINE Constants.DASH_LINE 虚线
MEDIUM_DASH Constants.MEDIUM_DASH 短虚线
LARGE_DASH Constants.LARGE_DASH 长虚线
DOUBLE_LINE Constants.DOUBLE_LINE 双线
53:连接mongodb报错:no route to host
是ip的问题,把ip改成域名就可以了
54:给表格绑定字段的名称的单元格设置背景颜色
var loc1=new Locator([],TITLE,DETAIL)//表格整体表头
var loc=new Locator(["层级"],CELL,HEADER)//指标名称的表头
var color = new Color(0xff2219)
表1.setBackground(loc, color);
55:web servers 属于跨平台的,相当于一个接口。可以定制开发去调数据。
56:excle批量导入用户,网址7.0的是ip:port/bi/importExcel?action=page
57:明细表动态topn,且可以受过滤组件影响
方法1:sql
select ROW_NUMBER() OVER (ORDER BY a.总成本 desc) AS 总成本排序,a.* from scott.咖啡销售统计 a
加上where条件,页面传递过滤的参数。 表上加过滤器,排序字段是小于等于10
方法2:(度量值重复时 不太准确)
把这个表复制一份,黏贴出来。
页面空白右击脚本,变化时运行:
var a=getViewData("复制的那个表的名字")
param['码率']=a.get(10,3)
对原来那个表右击添加过滤器
码率 是 大于等于 ?{码率}
页面空白右击脚本,装载时运行:
复制的那个表的名字.width=0
58:读取数据库注释,别名
bi.properties文件,在里面添加一句,qry.remark.as.view=true,意思是读取数据库注
59:输出excle保留报表格式
编辑报告添加参数
_KEEP_EXCEL_DATA_SPAN_ 布尔 in 单个值 真
默认3万以内保持格式,超过后就不保持了
修改命令为
excel.mainsheet.format.maxrow=
60:连接db2报for input string:"A"
更换db2数据库驱动,发送驱动和更换方法步骤截图,连接成功
61:查看报告多窗口打开
bi.properties里面配置
dbportal.opendb.frame=_blank
_self是打开自己
_blank是打开新的页面
62:提交需求
http://192.168.1.134/redmine/login
63:集群入集市的数据是无法直接拷贝文件到单机版的。
64:不同用户进入后是否可以看到超链接
if(param["_USER_"]=="admin"){
var loc = new Locator(["业务"], CELL, DETAIL);
表1.setLinkEnabled(loc, true)}
else{
var loc = new Locator(["业务"], CELL, DETAIL);
表1.setLinkEnabled(loc, false)
}
true是可见
65:列表过滤同步且部分有过滤关系
var aa=列表过滤1.getSelectedObjects()
var bb=列表过滤7.getSelectedObjects()
var cc=列表过滤2.getSelectedObjects()
var dd=列表过滤8.getSelectedObjects()
var aa1=aa.length
var bb1=bb.length
var cc1=cc.length
var dd1=dd.length
if(aa1 !=aa2){
列表过滤7.setSelectedObjects(aa,STRING);
param['a']=aa
}else
{列表过滤1.setSelectedObjects(bb,STRING);
param['a']=bb
}
if(cc1!=cc2){
列表过滤8.setSelectedObjects(cc,STRING)
}else{列表过滤2.setSelectedObjects(dd,STRING)}
var aa2=aa1
var bb2=bb1
var cc2=cc1
var dd2=dd1
66:修改服务器时间造成license过期
安装路径下的yonghong/yonghong/bihome下的bi.properties文件中把下面两句删除,重启tomcat
yonghongtech_guard2=1494309647851
yonghongtech_guard1=1494297018042
67:新家聚合表达式绑定报错:列不存在
表中只绑定了表达式,没有绑定原始字段。在绑定个原始字段即可。
因为聚合表达式是聚合,引用的列又是细节数据。
manual.sort.repository=true 连接数据那手动调节字段位置
default.locale=zh_CN 默认为中文
68,部分报错
oracle
问题:
oracle数据库连接失败,报错:java.sql.SQLException: 执行SQL失败:'Io 异常: Software caused connection abort: recv failed'
回答/:
执行定时任务的client节点的bi.properties里面:
conn.oracle.rac.reuse=false
mysql数据库
问题:
定时任务报错:
联接的列“ “没有找到
执行SQL失败:”Communications link failure The last packet successfully received from the server was 2,511,165 milliseconds ago.
回答/:
1.mysql连接数据源的连接数,改为20.
2.在yonghong/bihome/bi.properties里面添加这句:conn.check.valid=true conn.mysql.reuse=false
获取连接时候检查下是否有效
问题:
定时任务报错,同步查询数据时候,mysql报:connection reset by peer :socket write error
回答/:
conn.sqlserver.reuse=false
bi中添加这个参数就可以。mysql不重连。
db2数据库
问题:
db2查询的入集市定时任务,手动执行成功。定时执行报错:Caused by: java.sql.SQLException 执行SQL失败:“[jcc][t4][10335][10366][3.72.24] Invalid operation: Connection is closed. ERRORCODE=-4470, SQLSTATE=08003”
java.sql.SQLException: 执行SQL失败:“[jcc][t4][10335][10366][3.72.24] Invalid operation: Connection is closed. ERRORCODE=-4470, SQLSTATE=08003”
回答/:
bi.properties文件里面加conn.db2.reuse=false
mysql数据库
问题1:
定时任务报错:
联接的列“ “没有找到
执行SQL失败:”Communications link failure The last packet successfully received from the server was 2,511,165 milliseconds ago.
回答/:
三种方法尝试一下
1.mysql连接数据源的连接数,改为20.
2.在yonghong/bihome/bi.properties里面添加这句:conn.check.valid=true
获取连接时候检查下是否有效
3.3.bi.propertieslim 配置 conn.mysql.reuse=false。
69;linux安装产品报错:
not in gzip format 安装包问题,可能是上传出错
一般是换安装包和改上传方式
70:
P+63p42o/NtPWdsG4CEUd1w-L85-B465585596-V7.0-C4-E1-N10-D35289e4d8fac70-M6143-S1687016931
P+63p42o/NtPWdsG4CEUd1w-L83-V6.0-C8-E8-N50-D34b5e9696ef1da-M131071-S1525021613
license中
L为license类型
83为试用(trial)
84为租用(rent)
85是永久(permanent)
V是大版本号
C是本机CPU核数
E是集市CPU核数
U是并发用户数(一个session是一个并发)
N是系统允许创建的最大用户数
D是license申请时间和试用时间
M是允许使用的模块
B是MAC地址hash码
S是校验码
71,隐藏我的仪表盘
sys.hide.tree=__MY_DB__
72,知识库
http://111.207.107.66:8080/bi/Viewer?proc=1&action=viewer&hback=true&db=online!2f!!77e5!!8bc6!!5e93!!67e5!!8be2!.db&browserType=IE
73:
phone.browser.phoneLayout=false
非手机布局
74:
问题:
谷歌浏览器,连接数据页面左边的中文为问号???,英文正常
回答/:
linux字符集问题。(参考链接:http://www.oschina.net/question/17_6118?fromerr=RAKTMNPz)
是不是发现使用 putty ssh 登陆 RedHat AsX 或者 CenterOS 之类 Linux 系统的时候, 里边所有出现的中文字符都会变成乱码?..
这么你就需要修改一下字符编码的配置。
# cd /etc/sysconfig
# vi i18n
-------------------文件内容------------------
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
-----------------------:qw 保存退出-------------------------
75:7.1logo,首页大 105*60 首页小:50*50
76:页面渲染是本地来支持,需要本机有微软雅黑字体
77,不关闭防火墙,如何搭建集群。开通5066 5083端口(集群通信端口)
78:kerberos认证问题解决。
解决办法如下:
安装kerberos认证客户端
配置hosts认证地址
使用kinit -kt /**.keytab,可通过klist命令查看是否认证成功
在bi.properties下添加 conn.hive.kerberos.config=false
将krb5conf文件配置在JAVA_HOME下
重启服务即可完成认证。
192.168.1.250 sn sn sqlserver
负载均衡是c节点的跳转。
db双活,n节点的跳转。
7.0license:P+63p42o/NtPWdsG4CEUd1w-L83-V7.0-C4-E4-U10000-D34735abcdaa304-M131071-S2035755494
颜色:rgb
79:端口防火墙
a、重启服务器后,集群无法访问,排查思路:
1:进程
2:ping ip
3:telnet 端口
4:防火墙设置
b、如何查进程对应的端口
ps -ef|grep java 可以查找pid
netstat -anp|grep pid 查对应pid的端口
c、防火墙设置:
vi /etc/sysconfig/iptables
#tomcat端口,conf\server.xml
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
#集群通信端口,如果dc.port.offset=1,端口就是5067、5084
#bi.properties里面dc.io.fport=5066(缺省)和dc.io.sport=5083(缺省)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5066 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5083 -j ACCEPT
#manager和console端口,如果console.port.offset=1,端口就是5033、5058
#console.properties里面dc.console.fport=5057(缺省)和dc.console.sport=5032(缺省)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5032 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5057 -j ACCEPT
#nginx端口,nginx/conf/nginx.conf
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#zookeeper端口,Yonghong\bihome\global_bi.properties和zookeeper\conf\zoo.cfg
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2182 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2887 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3887 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
service iptables restart
注:zookeeper和manager、console以及集群之间的通信端口,都是内部通信端口,严格的说不应该对外开放,因此可以采用指定ip访问的设置(暂未验证)
#下面的命令是只允许来自174.140.3.190的ip访问服务器上216.99.1.216的80端口
-A FORWARD -s 174.140.3.190 -d 216.99.1.216 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -d 216.99.1.216 -p tcp -m tcp --dport 80 -j DROP
80:问题描述:报表列数非常多,保镖为横向展示,有横向滚动条,导出word之后存在上下分页的现象。
解决办法:在bi.propertise配置一下 word.page.maxPixelSize=10000 保存。重启Tomcat,在问题报表的页面设置里取消勾选匹配布局,然后再导出即可。
81:license过期
在url 后边直接增加 ?proc=0&action=licenseInvalid 即可以出现licence不合法界面,直接更新licence即可。如不更新直接去掉 ?proc=0&action=licenseInvalid 返回登录即可。
82:linux创建永洪的用户并赋予root权限。
1.用root用户,或者是可以sudo的用户登录。
2.创建用户:
root:useradd -d /路径 -m 用户名
sudo账户: sudo useradd -d /路径 -m 用户名
3.给新用户修改密码“
root:passwd yonghuming
sudo账户:sudo passwd yonghuming
4.给新用户设置root权限
vi /etc/passwd
最后一行找到新建的用户。
bash: 用户名:x:1009:1009:: /路径
x后的第一个数值,修改为0,这是说组信息,改成root的,也就是0.
保存并退出。
5.执行:
source /etc/passwd
刷新这个文件 使得修改生效
83:安装webapi报错
HTTP Status 500 - java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;
hadoop和hbase驱动造成的,换成最新的。
84:配置许可证不合法或过期时的提示文字信息
invalid.license.inform=
Invalid license页面的LOGO配置(license过期页面logo更换),product.logo.name=logo2.png
85:7.5去掉手机端显示的title,配置中加phone.browser.showToolbar=true
86:需求,表格数值字段是秒,需汇总后显示时间格式。
新建聚合表达式:formatDate(new Date(0,0,0,0,0,sum(col['放款件数']),0),"HH:mm:ss")
87:帮助中心去掉。
homePage.userTab.hashelpdoc=false
88:导出所有用户名
linux下,进入secure 文件夹下,执行 find . -type f -name "*.principal" > 1.txt
会在这个文件夹下生成1.txt 文件。
89:
图表标记标签显示未绑定字段:
多个:
图表1.binding.hiddenMeasures = [new MeasureCol(SUM, new BCol("PROFIT", DOUBLE, false)),new MeasureCol(SUM, new BCol("SALES", DOUBLE, false)),new MeasureCol(MAX, new BCol("PRODUCT",STRING,false))];
备注:需要注意的是多个字段之间用逗号分开,绑定维度字段可以用MAX或者MIN来判断
单个:
地图.binding.hiddenMeasures=[new MeasureCol('',new BCol("V58客户预算收入",INTEGER,false),null)];
90:判断文本参数输入的日期格式脚本:
if(param['hr计划开始']!=null){
//先判断参数是否为空
if(isNaN(param['hr计划开始'])==true || param['hr计划开始'].length!=8)
{
//判断参数值是否都是数字,且长度等于8
debug("温馨提示:HR认证计划完成日期的开始日期输入格式为yyyyMMdd,您输入的格式不对,请查证")
}
}
91:节点内存占用
c节点 数据缓存占六分之一,m节点数据缓存占三分之一,加起来就是二分之一,再加上运行中占的内存。一直有访问的话,不会降到50以下
92:url加用户名和密码直接登录。
&au_act=login&adminv=admin&passv=g5
93:自带的jdk怎么查看版本
进入jdk,查看release文件,里面有java_version=
再通知下,需要访问CRM系统和相应BI系统的同事,请注意:
外网IP更新为:
CRM系统--http://111.207.107.66/sugarcrm/
BI系统--http://111.207.107.66:8080/
内网IP不变:
CRM系统--http://192.168.1.105/
BI系统--http://192.168.1.105:8080/
阳光信保,账户:yufengmin-pwb 密码:Yfm123!
7.5的新功能。
1.导出excle文件时可把选项卡所有内容都导出。默认是都导出。
可以添加参数配置导出的内容
导出类型参数:_EXCEL_EXPORT_TYPE_ 字符串 IN 单个值
意思是导出整体还是细节(细节是说所有sheet页)
值为1 只导出整体;值为2 导出明细
导出excle的sheet页名称:_EXCEL_EXPORT_SHEETNAME_ 字符串 IN 单个值
值内容为导出的整体sheet页名称。
2.笔刷有两种方式:
1.原有的
2.点击笔刷后,地图还是原来的,但点线柱图、仪表等都会只显示相应的数据,不会和总数据有对比状态(不是选择的高亮其它的还在而是其它消失)
方式,全局的属性:bi.properties中添加:
disable.chart.brush.effect=false 默认是false需要修改为true
3.分页功能。
表格右击属性设置。
默认是不分页的,可以修改全局属性,让默认分页且设置默认分页的条数。
bi.properties中添加:table.pagination.row.number=10 10换成自己的数值。
4.表格排序的逻辑变更
表格排序时不管是组内排序还是组外排序,合计值都不会参与排序了。
5.由于编辑报告中还没有h5所以编辑报告还看不了gif地图,制作后去查看报告查看效果。
6.富文本功能:文本可以直接输入文字和参数了。
参数写法为 ?{参数名称} 也可以对参数值进行加粗设置: <参数名称>?{参数名称} </参数名称>
7.行业日历:文本参数作为一个时间点,同环比时用到的。
简介:当非工作日没有数据会造成同环比为空,设置后会把非工作日隔过去。
具体:
Yonghong\bihome下新建文件夹取名:calendar里面新建文本取名:holidays.txt
此文件内。
1.输入weekend 会当选择非工作日时间时同环比为空,比如环比昨天,当选择周一时,由于周天属于非工作日,所以周一数据直接和上周五比较。
2.可以直接输入时间格式为yyyy-MM-dd 会把此时间作为非工作日。
8.盒须图:
9.参数列
还是只能单选,但是可以不选择了。 可以设置多个列表参数,每个都写入一个值,组合成看起来是一个筛选组件,这样可以多选。
10.绑定数据列:
这个变成可以直接在表上面拖字段,把a字段拖到b字段或者覆盖b字段,效果和在上方的绑定数据区拖入字段一样。
11.地图上无数据区域可以通过设置局部格式来修改颜色了。
12.权限上对读写权限进行了更强的设置,没有写权限,数据源只能看,不能刷新元数据。新建表达式等任何操作。
可以对图片设置权限。
13.全屏自适应:宽和高都自适应
14.自服务的数据可以直接右击去录入到数据库(原理是这里可以直接创建个定时任务导入到数据库)
15.未选值策略:优化了下,可以对具体每一个参数进行未选值策略的选择(是否为必选,是为空,不是为全部)
7.5新增网页组件,默认不显示,需要在bi.properties中配置属性:global.action.hidden=
打电话,超链接设置一下写 tel:电话 具体的话测试一下。
参数组件选择的内容不能超过两个,否则回到上一次的选择状态
var a=new Array();
a=列表参数1.getSelectedObjects()
var b=a.length
if(b>2){
debug('选择超过2个,请重新选择')
param['列表参数1']=c
列表参数1.setSelectedObjects(c,STRING)
}
var c=param['列表参数1']
数据库系统直接切换文件系统,是 db里改 file.system.db=false
列表参数组件默认选择第一个值
var b=年月.getObjects()
if(b!=null){
时间.setSelectedObjects([年月.getObjects()[0][0]],STRING)
}
判断列表参数选中值个数
var a=列表参数1.getSelectedObjects()
a.length
普通表脚本自动修改表头,合并单元格
var loc = new Locator(["0,2"], CELL, HEADER); //先行后列,从0开始,0,2表示第一行第3个格子
表1.setSpan(loc, new Dimension(1,2)) //第二行,纵向合并单元格,第二个参数表示合并第几行的
表1.setFormat(loc, MESSAGE_FORMAT)
表1.setHAlignment(loc,1);//表头居中显示
表1.setFormatPattern(loc, 'bbb');
配置查询超时的时间
execute.data.timeout=3600000 query执行数据的过期时间,7.5将默认值从600000调到了3600000
列表参数选择值是否包含具体的值。
var aaa=Business.getSelectedObjects()
if(aaa.length>0){
var bbb=(aaa.join('-')).split('-')
if(bbb.indexOf("Retail")>=0 && bbb.indexOf("Leasing")>=0)
{param['chushu']=2}
else{param['chushu']=1}
}
else{param['chushu']=1}
瀑布图汇总的修改标记
Net Revenue:{col['Sum_FYTD_sum_'],number,#,##0.00}
绑定的字段后面加上_sum_
填报,
逻辑:不保存历史数据,防止不传数据就点击提交,造成数据表为空。
var conn = null;
//创建数据源
conn = createConnection(CONNECTION, "丰田金融")
//插入填报(kam为填报的名称),如果报错提示信息。实际测试发现报错不会弹出这个,还是弹出数据库里的错误
try {
insert("kam")
}
catch(e){
debug('没有上传数据');
}
//提交事务
conn.commit()
//创建sql语句
var pstmt = conn.prepareStatement(" DELETE FROM MISTFSBI.KAM_RANKING WHERE
(SELECT count(1) from MISTFSBI.KAM_RANKING where UP_TIME = (SELECT max(UP_TIME) FROM MISTFSBI.KAM_RANKING)) >= 2
AND UP_TIME = (SELECT min(UP_TIME) FROM MISTFSBI.KAM_RANKING) or RPT_DATE||KAM_DLR_GROUP is NULL" )
//执行sql语句
pstmt.executeUpdate()
//提交事务
conn.commit()
//刷新
refreshData()
需求:脚本赋值参数,参数参与过滤,脚本获取过滤后的值
现象:数据延迟。
增加文本的刷新间隔脚本
if(刷新!=param['机构筛选'])
{
文本5.interval=1}
else{文本5.interval=0}
if(quarter(param['测算时间'])==1){
param['季末测算时间']=year(param['测算时间'])+"-03-31";
param['去年季末测算时间']=year(param['测算时间'])-1+"-03-31";
}
问题一:
场景:从页面中表格中取值显示在文本框中,获取得值永远慢一个节点,不能实时获取
解决办法是:在getviewData("表").get(1,1) 之前 加一个 cleardata("表");
问题二:
场景:获取日期过滤组件中选定得值并赋值给参数
解决办法:
var start=日期过滤1.firstDates[0]
var a=start.substring(1,(start.length()))
var b=a.split("-")
param['first']=b[0]+"-"+(parseInt(b[1])+1)+"-"+b[2]
问题三:
场景:通过下拉参数组件选定值后判断其选择个数
解决办法:
var a=列表参数1.getSelectedObjects()
param['参数名']=a.length
问题三:
场景:获取下拉列表中选定得非对象得值
解决办法:列表过滤1.getSelectedObjects().join( )
问题四
场景:getviewData("表").get(1,1)的时候空指针 原因是表里面没有数
解决办法是:加判断 判断逻辑是 getviewData("表",DATA).size()
BI开发问题总结-暂存相关推荐
- git stash暂存操作
开发过程中经常会遇到正在做当前任务,突然又要切换到其它分支调试代码,又不想将当前代码提交,这时就可以使用暂存操作,等其它事情完成后可以回过头来恢复暂存的任务继续开发: 1.暂存操作 #查看当前状态 g ...
- git 暂存的代码命令
前言 代码无价,谨慎操作. ---- 奔跑的小蜗牛 自己在开发中,单独创建一个分支写代码,想拉取远程主干代码,结果冲突了,后来发现git 命令有个命令可以完美解决. 1.暂存代码 把自己开发的代码暂存 ...
- Git开发错了分支,利用git的暂存完成代码转移到正确的分支
问题描述:在分支one上开发了很多功能,结果发现开发错了分支,新功能应该在另外一个分支(分支two)上面开发,但此时另外一个分支上已经有其它人员开发的代码 解决方法: 第一步:先在分支one中使用&q ...
- git工作区、暂存区和仓库区
git工作区.暂存区和仓库区 工作区 对于添加.修改.删除文件的操作,都发生在工作区中 暂存区 暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分 仓库区 仓库区表示个人开发的一个小阶段的完成 ...
- git 合并代码_git的几种实用操作(合并代码与暂存复原代码)
总述 git工具也用了很久,自己也写了几篇使用教程,今天继续给大家分享一些我工作中使用过的git操作. 1.git合并远程仓库的代码 2.git stash保存当前的修改 这两种情况大家应该都使用比较 ...
- git 将暂存区文件提交_Git知识
Git 快速开始 一. 下载git 地址 : https://git-scm.com/downloads 二.git基础 1.git config 相关命令 # local 只对某一个仓库有效git ...
- git pull 是到工作区还是暂存区_每天一Git之简单理解工作区和暂存区
每天一Git之简单理解工作区和暂存区 1. 工作区与暂存区命令初体验 1.1. 暂存区文件与文件夹管理 [root@number ~]# cd GitDir/git_learning/ [root@n ...
- Git之深入解析如何交互式暂存
一.前言 了解了管理或者维护 Git 仓库.实现代码控制所需的大多数日常命令和工作流程,尝试跟了踪和提交文件的基本操作,并且掌握了暂存区和轻量级地分支及合并的威力.如果想进一步对 Git 深入学习,可 ...
- git分支合并指定代码_git的几种实用操作(合并代码与暂存复原代码)
总述 git工具也用了很久,自己也写了几篇使用教程,今天继续给大家分享一些我工作中使用过的git操作. 1.git合并远程仓库的代码 2.git stash保存当前的修改 这两种情况大家应该都使用比较 ...
最新文章
- 《周志华机器学习详细公式推导版》发布,Datawhale开源项目pumpkin-book
- c++的矩阵乘法加速trick
- 2017网易有道内推编程题
- 376. 摆动序列 golang
- C#查找指定窗口的子窗口的句柄
- 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115
- git jenkins 子目录,在Jenkins中,如何将项目签出到特定目录(使用GIT)
- PoiDocxDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0),目前只能java生成】...
- jquery操作CSS样式全记录
- 自动驾驶 11-4: 优化状态估计 Optimizing State Estimation
- 深度学习 arm linux移植过程整理
- MySQL|Aborted connection 日志分析
- 管家婆显示服务器端没有软件狗,管家婆找不到加密狗怎么办.doc
- Microsoft Recruit in Suzhou Branch (微软苏州招聘)
- python计算圆周率_python模拟蒙特·卡罗法计算圆周率
- 兼容NVIDIA Jetson Xavier AGX/Orin的GMSL 设计与调试
- 什么是BFC,他有什么用?
- 牛客大回馈,华为云优惠购买与使用心得
- 西南交大计算机专硕薪资,考研高校就业和薪酬数据统计:西南交通大学
- 文字转载-《 我忍你,一辈子》