您的位置:首页 > 其它

IBM Cognos BI 最佳实践: IBM Cognos 8.3 中的报表批量分发功能

2014-07-09 22:26 330 查看




登录
(或注册)

中文

IBM





技术主题

软件下载

社区

技术讲座

搜索
developerWorks

打印本页面

用电子邮件发送本页面

新浪微博

人人网

腾讯微博

搜狐微博

网易微博

Digg

Facebook

Twitter

Delicious

Linked
In

developerWorks 中国

技术主题

Information Management

文档库


IBM Cognos BI 最佳实践: IBM Cognos 8.3 中的报表批量分发功能

本文档讨论了在多个场景下 IBM Cognos 8.3 中的报表批量分发(burst)如何工作。这些信息旨在补充 Report Studio 用户指南中的信息。

查看本系列更多内容 | 0

 评论:

developerWorks
中国网站编辑团队, 编辑, IBM

2010 年 5 月 21 日



内容


1. 简介


1.1 目的

本文档讨论了在多个场景下 IBM Cognos 8.3 中的报表批量分发(burst)如何工作。这些信息旨在补充 Report Studio 用户指南中的信息。


1.2 适用范围

本文档适用于 IBM Cognos 8.3 Business Intelligence。

回页首


2. 批量分发  List1  报表

我们将查看三种选项来批量分发一个带有分组 List 报表的简单示例。List 查询包含我们希望传播的信息,其中包括一个分组数据项,它决定了哪些用户获得哪些数据。

我们将虚构一个包含地区销售信息的报表。该报表将根据地区代码分组并批量分发。


2.1 选项 1 – 使用一个查询的批量分发

对于这一选项,我们将定义一个单一查询,它将用于以下三种用途:

作为 List Query

作为 Burst Query

作为 Recipient Query

在本例中,该查询名为 List Query。

List Query 将包含以下信息:

图 1. List Query 包含的信息




或 Repeater 报表,这种报表也使用非旋转(un-pivoted)查询。

注意,如阴影部分所示,包含 Recipients 会对每个 Recipient 重复数据。即使在这个简单的例子中,查询中的行数因为添加了接收者而翻倍。这会对数据检索产生影响,但是不会影响对查询布局查询结果的批量分发。在生成报表输出时,批量分发的关键信息将进行分组,并且使用不同的批量分发键为每个批量分发键生成一个输出文件(或文件集,如果以多种格式呈现的话)。

图 2. 配置批量分发方式




在运行时, 这个批量分发将按以下方式执行:

1. Burst Query (List Query) 将运行。

2. 对于 Burst Query 中的每个 Burst Group (Region Code),Recipients 都是可用的。

3. 为 Burst Query 中的每个 Burst Group (Region Code) 创建一个 Burst Instance(比如,PDF 文件),并发送到相关的 Recipient Address(s)。

这样做的结果就是 Burst Query (List Query) 将运行一次,并且我们将 Burst Groups (Region Code) 分发到 Recipients。

使用该选项的理想情况是所有或大部分 Burst Groups 都被发送给一个 Recipient,这样查询中就不会出现或只有少量的重复数据。

注意:如果批量分发键和接收者被存储在多个表中,那么需要处理这些表之间的连接(join),以确定批量分发 / 接收者查询的连接后的查询结果。


2.2 列表选项 2 – 使用两个查询的批量分发

在这个选项中,我们将定义两个单独的查询:

List 和 Burst Query:同时用作 List 查询和 Burst 查询

Recipient Query:用作 Recipient 查询

List 和 Burst Query 包含我们希望传播的信息,包括 Region 分组数据项,我们将对该数据项确定哪些用户获得哪些数据:

表 1. List 和 Burst Query 查询

Region CodeRegionRevenue
NANorth America$123
EREurope$123
OTOther$123
Recipient Query 包含 Recipient 信息。在我们的例子中,Recipients 全部是电子邮件地址。该查询将 Recipient(s) 和 Burst Group (Region) 关联了起来。

表 2. Recipient Query 查询

Region CodeRecipient
NAfred.smith@abc.com
NAmaggie.jones@abc.com
ERdavid.black@abc.com
ERjane.white@abc.com
OTmary.doe@abc.com
OTteddy.schmoe.abc.com
我们将按如下所示配置批量分发:

图 3. 配置批量分发




为了连接 Burst Query 中的 Region 和 Recipient 查询中的 Region,主从关系将指定 [Region Code] -> [Region Code]。

在运行时,这个批量分发将按以下方式执行:

Burst Query (List and Burst Query) 将运行。

对于 Burst Query 中的 Burst Group (Region Code),我们将执行 Burst Recipients 查询 (Recipient Query),该查询将 Region Code 作为一个过滤项传递(典型的主从操作)。

在 Burst Query 中为每个 Burst Group (Region Code) 创建一个 Burst Instance(比如 PDF 文件),并发送到相关的 Recipient Address(s)。

这样做的结果就是 Burst Query 将运行一次 ,并且 Burst Groups (Region Codes) 将对每个 Burst Group (Region Code) 执行一次 Recipient Query。

这个选项的优点就是它不会在 List Query 中复制数据。此选项适合用于需要将每个 Burst Group 发送到多个 Recipient 的场景。由于 Recipient Query 会运行多次,因此此方法的一个潜在缺点就是可能会由于多个查询而引起数据库负载问题,但是它的优点是不需要处理单独的 burst 和 recipient 表之间的连接。然而,每个 Burst Group 的 Recipient 列表都非常小,这些查询通常也非常小,因此对数据库的影响也较小。


2.3 选项 3 多个接收者电子邮件地址

一个不常见的选项是在 Recipient Query 的一个单一行中指定多个接收者。只有在接收者为电子邮件时才支持该选项。

表 3. 单一行中指定多个接收者的查询

Region CodeRegionRevenueRecipient
NANorth America$123fred.smith@abc.com, maggie.jones@abc.com
EREurope$123david.black@abc.com, jane.white@abc.com
OTOther$123mary.doe@abc.com, teddy.schmoe@abc.com
在 Recipient 数据项中,使用逗号分隔多个电子邮件接收者。这允许我们使用选项 1 –单个查询,并且避免了复制数据或运行多个查询的缺点。我们的查询将如下所示:

该选项是 IBM Cognos 8.3 的新增特性。

回页首


3. 批量分发交叉表 2

IBM Cognos 8 不支持直接批量分发一个交叉表查询。因此,必须使用单独的 Burst 和 Crosstab Queries。我们将讨论使用两个或三个查询的选项。


3.1 交叉表选项 1 – 使用两个查询的批量分发

与列表选项 1 相同,该选项对 Burst and Recipient 查询使用单个查询:

图 4. Burst and Recipient 查询使用单个查询




表 4. 使用两个查询的批量分发

Region CodeRegionRecipient
NANorth Americafred.smith@abc.com
NANorthAmericamaggie.jones@abc.com
EREuropedavid.black@abc.com
EREuropejane.white@abc.com
OTOtherdavid.black@abc.com
OTOtherjane.white@abc.com
由于实际的数据位于 crosstab 查询中,因此 Burst and Recipient 查询只需要包含 Burst Key (Region Code) 和 Recipient:

crosstab 查询将包含数据。crosstab 查询将针对每个 Burst Key 执行一次。当从接收者处分离出数据后,在 Burst Query 中返回相同的数据不会产生任何问题。

crosstab 查询将对每个不同的批量分发键执行一次。


3.2 交叉表选项 2 – 使用三个查询的批量分发

一个批量分发也可以使用三个查询。将从 Burst Query 到 crosstab 查询以及到 Recipient Query 查询之间建立一个主从关系,如下所示:

图 5. 交叉表选项




burst 查询将包含 Burst Group (Region Code) 和 Label (Region):

表 5. burst 查询

Region CodeRegion
NANorthAmerica
EREurope
OTOther
Recipient Query 将包含 Burst Group 和 Recipient:

Region Recipient

表 6. Region Recipient 查询

Region CodeRecipient
NAfred.smith@abc.com
NAmaggie.jones@abc.com
ERdavid.black@abc.com
OTdavid.black@abc.com
OTjane.white@abc.com
Crosstab Query 与 Recipient Query 相同。

该方法没有明显的优势,并且有一个缺点,因为现在需要多次提交 Recipient Query(对每个批量分发组提交一次)。


3.3 选项 3 多个接收者邮件地址

它的操作方式与 list 和 crosstab 查询相同。

再次说明,对于电子邮件类型的接收者,当使用逗号分隔电子邮件接收者时,可以在一个行内定义多个接收者。这允许我们对交叉表使用选项 1 的包含两个查询的方法。burst and recipient 查询将如下所示:

表 7. burst and recipient 查询

Region CodeRegionRecipient
NANorth Americafred.smith@abc.com, maggie.jones@abc.com
EREuropedavid.black@abc.com,jane.white@abc.com
OTOthermary.doe@abc.com, teddy.schmoe@abc.com
该选项是 IBM Cognos 8.3 的新增特性。

回页首


4. 批量分发多语种报表

每个批量分发报表执行都在一种语言(本地)中运行。因此,要批量分发多语种报表,必须在每一种语言中运行它。通过调度报表并选择需要的语言可以实现这一点。注意,将针对选择的每一种语言运行报表(并批量分发)。

在报表内部,还需要根据语言过滤接收者。这需要对 Recipient 信息添加额外的语言代码并对 Recipient Query 进行过滤。Locale() 函数可用于返回当前语言,以实现过滤目的。

回页首


5. 批量分发不同的报表模式

大多数报表模式,比如 PDF、HTML 和 Excel,都根据由创建者指定的报表布局呈现。CSV 和 XML 都基于这些数据。因此,当批量分发到基于布局和数据组合的格式时,报表将运行两次来创建所需的布局。

回页首


6. 结束语

实现批量分发有多种选择;本文档的信息旨在帮助您选择最适合自己的方式。

回页首


附录 A:术语

Burst Group – 报表分组项,用于创建 Burst Instances,比如 Region Code

Burst Instance – 一个报表结果,比如一个 PDF 文档,其中选中的数据将被分发到 Burst Recipients

Burst Recipient – IBM Cognos 8 用户或邮件地址,可将 Burst Instance 发送给这些接收者或供其使用。

Burst Query – 驱动批量分发处理的查询。该查询包含 Burst Group 数据项。对于列表而言,该查询通常是由列表引用的查询。由于 crosstab 查询无法直接执行批量分发,因此 Burst Query 通常用作一个主列表查询,而 crosstab 为从查询。

Recipient Query – 包含 Burst Recipient 信息的查询。这通常是与 Burst Query 相同的查询。

Recipient Data Item – Recipient Query 中的数据项,包含电子邮件地址或接收者的 CAMID。

Burst Master-Detail – 用于连接 Burst Query 和 Recipient Query。

Burst Label – 用于为 Burst Instances 提供名称的数据项,例如按 Region Code 批量分发的报表可能包含 Region 的 Burst Label。


参考资料


学习

通过 developerWorks Information Management 专区:在这里可以学到更多关于
Information Management 的知识。还可以找到技术文档、how-to 文章、培训、下载、产品信息等。

通过 Information Management 专区 Cognos
BI 专题,了解更多有关 Cognos BI 专题的产品和技术资源。

通过 商业智能入门以及
Cognos 产品介绍,了解 商业智能的基本概念和相关技术,并介绍了 Cognos 商业智能相关的产品。

通过访问 IBM Cognos 8 Business Intelligence,学习
IBM Cognos 8 Business Intelligence 产品的相关知识。

通过访问 Cognos
8.3 Software Environments,了解 Cognos 8.3 产品安装的相关环境要求。


获得产品和技术

在线试用 IBM Cognos BI 试用版软件,了解
IBM Cognos BI 商业智能解决方案的最新版本新功能。

下载 IBM Cognos Express V9 试用版软件,了解
IBM 专为中型企业定制的集成商业智能和计划解决方案。

获取更多 IBM 试用版软件,并熟练掌握来自 DB2®、Lotus®、Tivoli®,以及
WebSphere®的开发工具和中间件产品,用这些试用版软件开发您的下一个项目。这些试用版软件可以免费直接从 developerWorks 下载。


讨论

参与 developerWorks blogs并加入 developerWorks 社区。


条评论

请 登录 或 注册 后发表评论。

添加评论:

注意:评论中不支持 HTML 语法

有新评论时提醒我剩余 1000 字符

快来添加第一条评论




IBM
PureSystems

IBM PureSystems™ 系列解决方案是一个专家集成系统





developerWorks
学习路线图

通过学习路线图系统掌握软件开发技能





软件下载资源中心

软件下载、试用版及云计算

回页首

帮助

联系编辑

提交内容

网站导航

订阅源

在线浏览每周时事通讯

新浪微博

报告滥用

使用条款

第三方提示

隐私条约

浏览辅助

IBM 教育学院教育培养计划

IBM 创业企业全球扶持计划

ISV 资源 (英语)

dW 中国每周时事通讯

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cognos 商业智能