关于报表工具IR中报表格式设置不起作用的问题(IR版本9.5.0.0)

本文描述了一种在Interactive Reporting(Brio)工具中遇到的报表格式设置失效的问题及解决方案。通过添加计算项来维持格式一致性和提高报表生成效率。

      一直以为自己可以用英文写这些描述技术问题及其解决方法的文章,唉,还真是高估自己了。再回去看之前写过的英文文章,有些东西连自己都不认得了,真无奈,哈哈!好,赶紧改用中文写。

      我想,基本上没有人会碰到像我这样的问题吧:Interactive Reporting(Brio)工具的对报表的设置不起作用!这个问题一直困扰了我很久,郁闷的是Oracle那边的人又无法给出明确的解决方案,所以这阵子一直自己摸索并找出了避开这个bug的方法。首先具体地描述一下问题吧:我们知道,在IR的“工具”下拉菜单中的“选项”菜单,选中“默认格式”,则弹出默认格式设置对话框。对话框中有分别对OLAP区、表、报表、图表等的一些格式的设置。比如,现在我们在该对话框中对进行设置表标题居中并粗体显示,保存后,下次新建的报表区的标题将会居中,而且字体是粗体。这个设置在本地运行和使用插件方式打开bqy将会产生效果,但是放到了portal(web)上之后,问题就来了!什么问题?这得首先说到我们报表的设计思路。

      报表的设计思路是这样的:举个例子,我们的Essbase数据库里面存储“营运日期”这个维度的members时候粒度细到天,因此,层次应该类似这样2009/2009-Q4/2009-10/20091015总共5层(维度那层也算一层,叫第一层),在大纲里,给“营运日期”这个维建立了generation(层级)名,如在“2009”这一层,我们编写层级名叫“年”,如果不这样设置,那么系统将会自动生成层级名,命名为“Gen2_营运日期”。而在报表页面,用户查询时可以按年度进行汇总查询,当然也就可以按季度、月份进行汇总查询,最后也可以按日期查询明细数据。如果用户按年汇总,则查询下载到结果之后(DownloadToResult),关于“营运日期”的这一列的标题名将为“年”,如果不编辑层级名,则标题名为“Gen2_营运日期”。因此我们一般会编辑所有非指标Dimensions的层级名(如果有多层级的话),也因此如果用户的查询条件不同,比如下次他/她要按月汇总而不是年汇总了,则下载到结果后的该列的标题名就会发生改变。而最重要的是,我们的报表都是基于这个结果区的结果的,如果结果区的列名改变,那么报表的列名很可能也会改变。我们的设计思路也就是这样子,就是在每次查询时,都会删除掉报表区的所有列,然后根据用户选择的条件重新把新结果的相关列拉到报表区里面来。

      这样一来,最严重的问题产生了:在portal上,每一次查询结束出报表的时候,每一个新拉进来的列的标题底色都会变蓝,并且标题字体并没有居中,也无法粗体!也就是说,之前“默认格式”下的设置根本不起任何作用!!但是我发现一个有趣的地方,没有发生改变的那些列的标题还是符合了“默认格式”的设置效果。于是我想到了一个方法,那就是在结果区里面添加计算项,如添加“日期”计算项,该计算项则参照“营运日期”这个dimension产生的列,这要看用户的选择条件了,如果用户选择了年度汇总,则“日期”计算项参照结果区中的“年”列。下次用户如果按月份汇总,则代码中,我们就修改计算项的参照,改成参照“月份”……然后新建一个基于结果区的表,作为报表来展示给用户。在这个表里,拉入所有的需要展示给用户的计算项,比如拉入“日期”。这样查询的时候不再需要删除报表区所有的列然后重新添加,而只需要修改结果区中计算项的参照就足够了!

      另外,值得一提的是,使用表区比使用报表区来作为报表展示给用户的报表生成速度快很多,然而也会产生问题:排序问题。这个之后再明说……

 

go athena # line x loc=0.00 spac=0.3 line x loc=2.00 spac=0.3 line x loc=4.50 spac=0.3 line x loc=6.00 spac=0.3 line x loc=7.50 spac=0.3 line x loc=9.50 spac=0.3 line x loc=11.0 spac=0.3 line x loc=12.5 spac=0.3 line x loc=15.0 spac=0.3 line x loc=17.00 spac=0.3 line y loc=6.0 spac=0.25 line y loc=14.0 spac=0.5 # init silicon c.phosphor=1e14 orientation=100 # Structure outfile=vdmos01.str # epitaxy time=30 temp=1000 thickness=6.5 c.phosphor=2e15 structure outfile=vdmos02.str # diffuse time=18 temp=850 t.final=980 nitro f.o2=5.0 diffuse time=5 temp=980 f.o2=5.0 dryo2 diffuse time=20 temp=980 f.hcl=0.05 f.o2=5.0 diffuse time=16 temp=980 f.h2=7.0 f.o2=5.0 diffuse time=5 temp=980 f.o2=5.0 dryo2 diffuse time=30 temp=980 t.final=850 nitro f.n2=5.0 # extract name="loxide"thickness material="SiO~2"mat.occno=1 regicn="oxide" # deposit photoresist thick=1.8 divisions=2 structure outfile=vdmos03.str # select z=y print.1d x.val=0.0 # etch photoresist start x=7.5 y=-3 etch cont x=7.5 y=0 etch cont x=9.5 y=0 etch done x=9.5 y=-3 structure outfile=vdmos04.str # implant boron dose=2.0e15 energy=50 pearson structure outfile=vdmos05.str extract name="Xpj" xj material="silicon"mat.occno=1 x.val=0.0 etch oxide start x=7.5 y=-3 etch cont x=7.5 y=1 etch cont x=9.5 y=1 etch done x=9.5 y=-3 # etch photoresist all # etch oxide start x=2.0 y=-5 etch cont x=2.0 y=1 etch cont x=15.0 y=1 etch done x=15.0 y=-5 structure outfile=vdmos06.str # diffuse time=10 temp=850 t.final=990 f.n2=5.0 diffuse time=5 temp=990 f.o2=5.0 dryo2 diffuse time=50 temp=990 f.hcl=0.05 f.o2=5.0 diffuse time=5 temp=990 f.o2=5.0 dryo2 diffuse time=30 temp=990 nitro f.n2=5.0 # extract name="gateoxide"thickness material="SiO~2"mat.occno=1 x.val=3.0 structure outfile=vdmos07.str # deposit polysilicon thick=0.45 divisions=16 structure outfile=vdmos08.str implant phosphor dose=8.0e15 energy=40 pearson structure outfile=vdmos09.str # diffuse time=30 temp=850 nitro structure outfile=vdmos10.str deposit photoresist thick=1.8 divisions=5 # etch photoresist start x=5.0 y=-10 etch cont x=5.0 y=1 etch cont x=12 y=1 etch done x=12 y=-10 # etch polysilicon start x=5.0 y=-10 etch cont x=5.0 y=1 etch cont x=12 y=1 etch done x=12 y=-10 structure outfile=vdmos11.str implant boron dose=2.0e14 energy=40 gauss tilt=7 rotation=30 # etch photoresist all structure outfile=vdmos12.str # diffuse time=39 temp=850 t.final=1160 nitro diffuse time=80 temp=1160 nitro diffuse time=50 t.start=1160 t.final=850 nitro structure outfile=vdmos13.str deposit photoresist thick=1.8 divisions=10 etch photoresist left p1.x=7.50 etch photoresist right p1.x=9.50 structure outfile=vdmos14.str go athena init infile=vdmos14.str implant arsenic dose=2.0e15 energy=120 pearson implant phosphor dose=5.0e13 energy=70 pearson structure outfile=vdmos15.str # etch photoresist all structure outfile=vdmos16.str # deposit oxide thick=0.60 divisions=3 structure outfile=vdmos17.str # diffuse time=12 temp=850 t.final=950 nitro diffuse time=60 temp=920 nitro diffuse time=16 t.start=950 t.final=850 nitro structure outfile=vdmos18.str # etch oxide start x=6.0 y=-10 etch cont x=6.0 y=1 etch cont x=11.0 y=1 etch done x=11.0 y=-10 structure outfile=vdmos19.str # deposit aluminum thick=2.0 divisions=16 structure outfile=vdmos20.str struct mirror left # electrode name=gate x=0 y=-0.4 electrode name=gate x=-14 y=-0.4 electrode name=gate x=17 y=-0.2 # electrode name=source x=8.00 y=0 electrode name=source x=-8.00 y=0 # electrode name=drain backside struct outfile=vdmos21.str extract name="nxj" xj material="silicon"mat.occno=1 x.val=10.0 extract name="pxj" xj material="silicon"mat.occno=1 x.val=5.0 # tonyplot vdmos21.str ###BV### go atlas mesh infile=vdmos21.str models cvt srh print interface qf=1e10 impact selb contact name=gate n.poly method newton trap maxtraps=10 climit=1e-4 ir.tol=1e-30 ix.tol=1e-30 solve init log outf=vdmos_BV.log solve vdrain=0.1 vstep=0.5 vfinal=10 name=drain solve vstep=1 vfinal=35 name=drain solve vstep=2 vfinal=50 name=drain solve vstep=10 vfinal=150 name=drain struct outfile=vdmos_bv.str master solve vstep=10 vfinal=200 name=drain struct outfile=vdmos_bv2.str master solve vstep=10 vfinal=290 name=drain struct outfile=vdmos_bv3.str master tonyplot vdmos_bv3.str tonyplot vdmos_BV.log ###output go atlas simflags="-p 4" mesh infile=vdmos21.str models cvt srh print contact name=gate n.poly impact selb method newton trap maxtraps=10 climit=1e-4 ir.tol=1e-30 ix.tol=1e-30 solve init solve vgate=4 outf=solve_tmp1 solve vgate=5 outf=solve_tmp2 solve vgate=6 outf=solve_tmp3 load infile=solve_tmp1 log outf=vdmos1_2.log solve name=drain vdrain=0 vfinal=5 vstep=0.5 load infile=solve_tmp2 log outf=vdmos1_3.log solve name=drain vdrain=0 vfinal=5 vstep=0.5 load infile=solve_tmp3 log outf=vdmos1_4.log solve name=drain vdrain=0 vfinal=5 vstep=0.5 tonyplot -overlay -st vdmos1_2.log vdmos1_3.log vdmos1_4.log quit 在代码中加入阈值电压,击穿电压,导通电阻的仿真实现
05-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值