BO 常见用法

一、函数
报表数据为空,则=If(IsNull([Fis Nbr]);0;[Fis Nbr]);
报表加变量:=UserResponse(“Begin”);
将数据库的01标识改为中文标识:=If([Is Plan]=0;“在途”;“完工”);
添加序列号:=Linenumber()-1;
指标数百分比:=([缓装在途工单数]/[总在途工单])*100+"%";
除数为0:=If([流入缓装工单数]=0;“0”;[缓装开装工单数]/[流入缓装工单数]);
双重判断方法1、univser case when 2、报表 if嵌套if语句
序列号:=Linenumber()-1

二、排序
维度排序
右键—排序—自定义排序
数值排序
右键—排序—升序、降序
排序
胖客户端进行排序, 钻取前是对数值的排序,钻取后是对链接的排序。方法是加排序列,就是将作为排序的列,弄成两列,一列为钻取,一列为数值排序,以数值的排序,并将这列隐藏。

三、清单钻取
根据汇总表统计的指标,将sql的统计逻辑在UNIVERSE中定义,标识为1或0(或者是在表里打上标识,但是建议在语义层定义)
具体做法请参考文件:钻取清单报表制作

注意:
钻取报表时,注意时间类型,查询的时间类型要与清单的一致,可以在universe处理,就是添加字段存放转化数据类型的清单的字段
钻取时,查询过滤器的条件基本为可选提示(不能使用自定义sql)
钻取时,查询条件(一般为统计表里的维度,和有判断条件的统计)添加的方法:在清单表里添加字段(属性:维度,类型:数值,Select:统计条件,点击分析);接着在胖客户端,在清单表里设置查询条件(可选提示)。

四、合并维
作用:合并维主要用于一个报表中存在多个查询的情况下,要注意一点,同一个报表中的不同查询,即使它们是来自同一个Universe,它们也是互不相关的;如果要把它们的查询结果组合在一个表格中进行展示,就需要把表格中用到的维度进行合并,否则会出错。要注意的是,合并的两个维度需要包含相同的值。

三个清单,其中两份清单各与地市表关联取数据,就在infoview客户端重复查询(3次,对应每个清单,并且关联),在报表里合并维,获取数据(例子;越级投诉)

五、拆分

六、获取TOP的数据
统计时间为区间取Top数据,Universe拖拉清单为维度,改为度量,就会对汇总表进行统计,然后在报表的sql进行选取top(汇总表存多天的结果清单,然后在报表前端进行统计)
统计时间为一天取Top,直接在存储过程的汇总表里计算

七、制作流程
开发过程:存储过程,测试;建universe,导出crm;本地19库,做完后将universe转为bo库;服管系统(报表目录配置-报表配置);胖客户端设置查询条件、设计报表,调格式;infoview ; universe 分析表的关联;infoview 钻取报表
不用写存储过程,直接在universe拿清单表;在universe新建维度度量,可在对象属性修改select,确认值得来源;在universe汇总表,表之间建立连接;
在胖客户端,重复查询的方法,组装成一张报表
报表制作流程:画报表流程截图;
清单钻取请参考文件:钻取清单报表制作

八、分层显示数据
同一个表字段中存在两种层次的数据,如省局、电力局,如何在报表中分层显示?
答:在报表中对字段值进行分层显示,有两种做法:1)在数据库模型设计中,就把一个字段中的两种层次的值拆分成两个字段存放,划分成两个维度字段:省局、电力局;这样建立的属性维度值在报表中就能很好的分层显示,这是目前的主流做法,推荐使用;2)在建立Universe的时候,从该字段中抽取它们的属性建立相应的属性维度,如把行业字段抽取属性生成总行业属性维度(即通过脚本把行业分成不同的类别),从而在报表中分层显示。

九、维度钻取
例如年份下钻到季度、地市下钻到区县
在universe中添加层次(地市维)
在inforview中编辑,点击‘钻取’显示上下文钻取,选取钻取的文
钻取清单,过滤条件
地市—区县—营服:
地市传的:=If(DrillFilters()=[City Name];[Subst Name];"%")
=If(Match(DrillFilters();"-");[Branch Name];"%")

区县—营服:
区县就传区县:[Subst Name]
营服:=If(Match(DrillFilters();"-");[Branch Name];"%")
汇总数据钻取清单:

十、报表移植
省库报表移植到地市库
1、如果清单表表名不变,只是修改了汇总表名(表中的字段无改动)
做法:先是另存为,然后则将报表的sql中的表名修改(限制地市?),修改后放在地市库,对钻取没有多大影响
2、如果清单表与汇总表都修改,则重新绘制清单报表(按照之前格式),汇总可移植,则将报表的sql中的表名修改,钻取改一下ID名字

十一、不同的维在同一列显示
第一步,拖拽维度和度量。(维度:Year、Quarter;度量:Margin)
第二步:拆分维度Year。(显示拆分页眉,不显示拆分页脚、删除重复值、拆分后将值居中);然后选中报表,选中:属性->显示->显示表头
第三步:在Year维度 页眉的位置,更改=NameOf([Quarter])为=[Year] ,=NameOf([Margin]) 为 =[Margin]
第四步:调整第一列格式(列宽、边界的显示、字体的大小及颜色),使其隐藏。

十二
1、BO报错:XXXX ODBC Could not load code page for requested charset (字符集配置问题)
2、清单数据在表是13条,但是报表展示只有12条,其中重复的数据给过滤了,如何处理?
选中表格点属性 改一下显示中 避免重复行聚合

十三、
过程和表21个地市都有,公共没有,UNIVERSE上建结构、字段一样的派生表,写SQL union 21个地市的数据
过程和表21个地市都有,数据汇总公共,直接在UNIVERSE上拖拉表

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值