请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
ren_koko(uid:80471)
职业资格认证:FCA-FineReport
BI数据准备内存化如何根据不同人登录显示自己的数据
数据准备分实时数据和抽取数据。实时数据可以实现不同登录者看自己的数据,但这样打开仪表板太慢。 使用抽取数据,无法查看自己的数据。请问这种如何实现呢?
基础功能整理
1.通过函数实现小数点保留一位:FORMAT(B3,"0.0") 2.Range()函数:Range(3),可以实现横向和纵向1,2,3 3.JS获取当前行号:(在按钮控件 初始化或者点击事件获取改行的行号) var row=FR.cellStr2ColumnRow(this.options.location).row; alert(row) 4.(1)数据分析报表获取单元格的值 var aa = $(".x-table").find("td").text(); 其中,rowh表示行号。行号是几就对应第几行 (2)填报报表获取单元格的值 var aa = _g().getCellValue(0,5,rowh); 其中,rowh表示行号-1,行号是2,则rowh=1 5.隐藏行 $("#r-"+rowh+"-0").toggle(); 其中,rowh表示行号-1,行号是2,则rowh=1 6.获取参数面板控件的值 var bb =this.options.form.getWidgetByName("dcdate").getValue(); 7.SELECT语句一共7千行,80列就直接崩溃 通过取消每个单元格的纵向扩展,只保留第一个单元格的纵向扩展。 8.数字转换成字符串,并且一位数字显示两位用0填充 LEFT(dcdate,4)+'-'+FORMAT(dcmonth,"00")+'-01'
BI两列如何增加一行标题,里面还有增加的公式
如何这样显示?
主表金额和-明细行金额
144128 明细序号根据主表序号显示,每条主表对应好几个明细, 黄色背景的公式为 主表的金额-明细行的金额(100-(30+20))
安装FINEBI的经历
完成安装后,BI和Report同时打开报错,具体参照上一篇 报错问题解决后,登录系统很慢,至少需要30秒左右才能打开登录页面,登录之后需要30秒左右打开首页。 经过扩充内存各种方法都不见效,最后发现是因为配置的网络宽带太少(阿里云服务器),扩大宽带后正常。 登录之后,导出Excel时候,第一次导出正常,等1分钟左右后再导出就出现会话失效的问题 经过多人的测试都很正常,我的电脑也测试多个浏览器都不行。 最后,通过增加域名的方法,导出问题解决。
websocket端口异常和socket未链接的问题记录
服务器安装BI和Report之后,Report设计器打开本地BI工作目录,提示“websocket端口异常”问题。 帮助文档的解决方案是删除重复的jar包,但我没发现有重复的。 我的解决方案是使用远程服务器工作目录,文件——切换工作目录——其他。 设置完成后,打开BI系统 时不时的出现socket未链接的问题。 解决方案是把38888、39999、48888配置安全配置规则(阿里云服务器),开通外网,就可以啦。
信用分被扣减
2019-05-27 为啥扣减了403信用分
【转发】获取登陆用户的信息
引用 138191的回答 1. 描述 希望不同用户登陆系统后,访问相同的模板,所看到的数据是不同,样式不同等。如:访问报表A,中央的账号登陆系统,看到的是全国的数据,而省级用户登陆系统,看到的是该省的数据,依次往下类推。 2. 实现原理 用户认证后会将报表三个固定的默认参数$fr_username、$fr_authority、$fr_userposition保存在session中,同时提供两个函数GETUSERDEPARTMENTS()、GETUSERJOBTITLES()来分别获取部门角色的部门和职位同一报表环境下模板中就可以直接以参数的形式获取到对应的值,然后在模板里面进行筛选判断就可以显示不同数据及样式。 $fr_username:获取登录系统的用户名,比如说登录用户名为Anna,那么$fr_username=Anna; $fr_authority:获取登录系统的角色,如果是管理员用户登录则,$fr_authority=SUPERROLE,如果是角色用户登录,比如说角色数据架构师用户登录,$fr_authority=数据架构师,如果是部门角色登录,该参数为空,$fr_authority返回值为数组,使用concatenate($fr_authority,"")即可将其转化为字符串; $fr_userposition:获取部门职位,返回值为一个由部门和职位组成的数组,比如说人力资源部长职位登录系统,那么$fr_userposition={"departments":"人力资源","jobTitle":"部长"}; GETUSERDEPARTMENTS():获取部门职位里面的部门,比如说人力资源部长职位登录系统,那么GETUSERDEPARTMENTS()=人力资源; GETUSERJOBTITLES():获取部门职位里面的职位,比如说人力资源部长职位登录系统,那么GETUSERJOBTITLES()=部长。 注:$fr_username、$fr_authority、$fr_userposition是我们报表默认的参数,所以调用时大小写必须保持一致。 3. $fr_username 不同用户登录查看的数据是不同的。在数据集中通过报表默认参数$fr_username进行过滤筛选,在sql中加入过滤筛选语句,即可达到不同的人看不一样的数据。 示例1 用户陈羽登陆成功之后只能看到自己的销量,定义的数据集为ds1:SELECT * FROM where 销售员='${fr_username}',配置好权限以王伟登陆成功之后,模板内容就会自动筛选到王伟的信息了, 以其他用户登陆进去则可以看到其他用户的信息。 http://www.finereporthelp.com/help/14/2/15/2/4-1.png 示例2 在参数界面,控件的值根据权限参数值的改变而显示的值不同,这样通过动态sql获取,增加sql的过滤条件为权限参数名称即可。 用户王伟登陆成功,看到的下拉框控件只有自己的产品,在设置下拉框控件,选择动态sql输入sql语句为:SELECT * FROM where 销售员='${fr_username}'选择实际值和显示值。这样就实现不同的用户,登陆系统进入报表,下拉框所看到值就不同了。 http://www.finereporthelp.com/help/14/2/15/2/4-2.png 注:参数界面必须定义控件,参数名为报表默认参数fr_username,因为参数界面传值是通过控件的值来引用的,所以先定义控件才可以把值传到控件chanpin里面,进行筛选数据。如果控件fr_username不希望显示,可以在控件设置,可见的勾去掉即可。 4. $fr_authority 希望不同角色看到的列数不同,行列的颜色不同,这样可以给行列添加条件属性设置行高、列宽、背景等,如果登录系统用户为角色用户,则可以在公式中通过$fr_authority进行过滤,如果是部门职位用户,则不可使用该参数进行过滤。设置模板的条件属性格式可参考条件属性文档。 若王伟是管理员,孙林的角色名称是销售主管,且为导入的角色或者手动添加的角色,王伟登录的时候可以看到所有的列,而孙林登录的时候只显示地区、销售员、产品和销量,汇总这列看不到。这里就得在汇总这列添加条件属性>列宽,设置为0,公式中写入默认参数$fr_authority='销售主管'判断登录的角色为销售主管,如下图所示: http://www.finereporthelp.com/help/14/2/15/2/4-3.png 以孙林登陆成功后,即角色为销售主管登录,访问模板只能看到报表展示了以下内容,如下图所示: http://www.finereporthelp.com/help/14/2/15/2/4-4.png 5. GETUSERDEPARTMENTS()和GETUSERJOBTITLES() 仍然以上面的$fr_authority示例中的模板为例,只是此时孙林不再是角色用户,而是部门职位用户,部门为销售部门,职位为主管,那么公式中应该写入两个函数GETUSERDEPARTMENTS()='销售部门'和GETUSERJOBTITLES()='主管',如下图:
记录隐藏/显示行的解决方案
1.需求要求实现二级科目隐藏,点击一级科目后需要再显示。 对于这个需求通过百度以及不断的测试通过 (1)加载时候先隐藏:模板——web属性——数据分析设置(根据报表形式设置)——加载结束,添加隐藏代码 $("#r-3-0").toggle(); $("#r-4-0").toggle(); $("#r-5-0").toggle(); (2)点击时候显示和隐藏:控件设置——选择按钮控件——事件 2.基于第一个需求需要在二级科目同期、预算、实际为0需要隐藏。 选中行——设置条件属性行高 此时,出现乱行的问题,导致样式不太好看 基于以上问题,因为二级科目动态获取的,所以采用遍历的方法确定行号,进行隐藏。 //处理动态的费用科目隐藏/显示 var zjfy = 23;//默认直接费用 var jjfy=0;//默认间接费用 var ptfy=0;//默认平台费用 var zjcb=0;//默认资金成本 var kcdj=0;//默认库存跌价准备 var zjlr=0;//默认直接利润 //循环遍历间接费用、平台费用、资金成本的行号 //根据科目数量,默认为60,如新增科目需要*3增加 for(var i=0;i<70;i++){ var a=zjfy+i; var az = $("tr","div.content-container").children().eq(1).text(); if(az=="间接费用"){ jjfy=a; } if(az=="平台费用"){ ptfy=a; } if(az=="资金成本"){ zjcb=a; } if(az=="库存跌价准备"){ kcdj=a; } if(az=="直接利润"){ zjlr=a; } } //直接费用 for(var zj=1;zj
BI当前用户为什么不能是参数,而需要通过业务包权限,是否有利管理
BI想要获取当前用户,为什么不能通过参数,而是需要通过业务包权限。这样有利于管理嘛?
个人成就
内容被浏览36,607
加入社区7年15天
返回顶部