需求:部分报表分主从报表,需要对参数进行传递,动态显示从报表信息。

 主从报表可以加强对数据进行分析,以满足客户需求。也是报表工具以及开发报表最基本功能特性。

Webi参数传递跟其他Web应用程序参数传递方式一样,没有本质区别,在我看来,唯一区别,就是接收参数值有些特别设置而已。Webi参数传递大体思路为:在主报表中创建需要动态绑定的URL,然后在从报表中设置参数接收条件即可。本技术要点是:URL和参数接收设置。而URL是使用webi公布的报表浏览方式:opendocument.aspx进行参数传递,在文章后面回附上关于boe_xi_opendocument.pdf文档说明。下面我们可以动手制作一个DEMO来阐述整个过程。

1.         用Designer工具创建一个Universe,然后导入到CMS里。
2.         用Infoview工具创建一个webi文档报表。如图所示:
3.         点击“编辑报表”进入编辑状态,如图:
4.         在这里同样要增加一个变量来格式化数据,这就用到第一章《Hyerlink的实现》。双击report变量弹出属性窗口:
这地方需要特别说明那就是公式了:=" <a href=""..""..""scripts""opendocument.aspx?sIDTyp=CUID&sType=wid&iDocID=2699&lsSparaSexName="+URLEncode([性别])+"&lsSparaCauseName="+URLEncode([案由])+""" target=""_blank"">"+[人数]+"</a>"
需要注意的地方:
l ""..""..""scripts"":这是定位opendocument.aspx文件的地方,不管什么方式去格式化,如开发的时候可能在Universe里进行定义,都得注意。
l sIDTyp=CUID&sType=wid&iDocID=2699:sIDType是接收报表文档方式;sType是文档类型;IdocID是文档报表CUID编号。
l lsSparaSexName="+URLEncode([性别])+"&lsSparaCauseName="+URLEncode([案由]):这里当然是参数格式化了。在boe_xi_opendocument.pdf详细介绍了多种参数数据格式,如多值,多参数,值域,日期域等等。
l URLEncode:这个函数对中文数据很重要,否则接收参数显示不出数据。
5.         主报表设计和设置就这样了,从报表按照前面创建主报表流程创建。从报表webi编辑文档状态点击“编辑查询”:
“查询过滤器”就是设置参数获取的地方。具体设置如下
l 点击 设置为提示(prompt)。
l 点击 将提示信息设置为参数名称。
l 这里参数名称很微妙的,lsSparaCauseName对应参数名称为:paraCauseName。当然webi这种自定义规则并不影响什么,相反可以让你明白传递的数据方式是什么,更好的让你区分参数的传递的来龙去脉。这些微妙的东西并不代表什么,但是有一点:以人为本,是软件发展的重要特点,扯远了。
6.         好了,我们来看看最后效果。如图:
总结:在做复杂的报表还是多参数报表,opendocument参数非常重要。boe_xi_opendocument.pdf应该细细研究,对boe_xi_opendocument.pdf我会在后面专门用一篇文章阐述。最近,在细化需求的时候,要求钻取可以传递参数,这是个严峻的问题,因为维数很多的时候这种方式很费力的。

WEBI 中的参数传递相关推荐

  1. C语言中函数参数传递

    C语言中函数参数传递的三种方式 (1)值传递,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值. (2)地址传递,就是 ...

  2. C#中的参数传递(转)

    C#中的参数传递 摘要:由于在.NET中存在两种类型,分别是值类型(value type)和引用类型(reference type),所以很多关于C#中参数传递的混淆就因此而生.本文首先从值类型和引用 ...

  3. SAP UI5 应用开发教程之三十 - SAP UI5 的路由过程中进行参数传递试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  4. 北大青鸟广州天河中心C#学习笔记一--C#中的参数传递

    C#学习笔记一--C#中的参数传递  发布者:[本站编辑]  来源:[北大青鸟广州天河培训中心]  浏览:[ 195 ] 字体:大 中 小       由于在.NET中存在两种类型,分别是值类型(va ...

  5. system verilog中的参数传递——ref,input,output

    本文介绍了 system verilog 中静态数组.动态数组.队列作为函数参数传递的规则,以及 input.output.ref关键字的规则. system verilog中的参数传递--ref,i ...

  6. C语言中函数参数传递的方式:值传递,地址传递

    ** C语言中函数参数传递的方式:值传递,地址传递 ** 值传递:将实参的值复制至形参的相应存储单元中,实参与形参占用不同存储单元,单向传递 地址传递:使用数组名或者指针作为函数参数,传递的是该数组的 ...

  7. Pytest之fixture中的参数传递

    目录 1.背景 2.fixture中参数传递的几种方式 1)fixture中的函数返回 2)与@pytest.mark.parametrize的结合 3)fixture中的方法嵌套传递 4)测试方法中 ...

  8. Java中的参数传递,到底是值传递还是引用传递?

    文章内容为转载,转载自公众号Hollis关于我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种! 原文链接:我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种! 知乎回答链接:Java 到 ...

  9. 【Java】方法中的参数传递机制的具体体现

    Java方法中的参数传递机制的具体体现 具体来说是两种:值传递和址传递 以swap(Object obj1,Object obj2)方法为例: 1:如果传递进去的是基本数据类型参数得值,那么再调用sw ...

最新文章

  1. 老年市场是蓝海or沙漠?
  2. 功能测试常用6种方法_16种常用的数据分析方法聚类分析
  3. Java 对抽象类的理解
  4. python字典的键有什么要求_在Python中使用范围作为字典键,我有什么选择?
  5. 关于直线,折线切割平面的问题
  6. Vue2系列教程——vue-pdf插件
  7. 硬盘测试软件w10,Win10硬盘检测工具
  8. 【问题描述】打印2018年的日历
  9. 《胡雪岩》影评10篇
  10. 关于library cache lock
  11. Happiness is a Choise
  12. WebRTC 非常适用于智能家庭安防摄像头
  13. 日薪行-大龄程序员的绝对优势与绝对劣势-反观01
  14. hbase命令使用笔记
  15. Transferability vs. Discriminability: Batch Spectral Penalization for Adversarial Domain Adaptation
  16. android微信分享icon不能显示,微信分享 icon图片不显示问题
  17. Python中的时间戳具体是什么
  18. CCF CSP 压缩编码
  19. 大数据技术与应用-广东省赛总结
  20. 龙泉驿区!成都经开区支持扩大汽车消费政策申报条件时间及认定奖励补助

热门文章

  1. 四门专业课,有点困难哈~
  2. formdata.append加多个值_呆哥数学每日一题 —— 多个最值函数混合向量
  3. Win64 驱动内核编程-29.强制解锁文件
  4. hdu4884 模拟
  5. 【Groovy】闭包 Closure ( 闭包参数列表规则 | 默认参数列表 | 不接收参数 | 接收自定义参数 )
  6. 【错误记录】Java 中 ArrayList 排序 ( 使用 Comparator 接口时注意 compare 返回值是 -1 和 +1 )
  7. 【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
  8. 【Android 逆向】Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )
  9. 【IOC 控制反转】Android 布局依赖注入 ( 布局依赖注入步骤 | 布局依赖注入代码示例 )
  10. 【鸿蒙 HarmonyOS】UI 组件 ( Text 组件 )