生活生产服务 商业智能

IBM Cognos 8.3 中的报表批量分发功能

1. 简介1.1 目的本文档讨论了在多个场景下 IBM Cognos 8.3 中的报表批量分发(burst)如何工作。这些信息旨在补充 Report Studio 用户指南中的信息。1.2 适用范围本文档适用于 IBM Cognos 8.3 Business Intelligence。2. 批量分发  List1  报表我们将查... 显示全部
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 Code Region Revenue
NA North America $123
ER Europe $123
OT Other $123

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

表 2. Recipient Query 查询








Region Code Recipient
NA fred.smith@abc.com
NA maggie.jones@abc.com
ER david.black@abc.com
ER jane.white@abc.com
OT mary.doe@abc.com
OT teddy.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 Code Region Revenue Recipient
NA North America $123 fred.smith@abc.com, [email]maggie.jones@abc.com[/email]
ER Europe $123 david.black@abc.com, [email]jane.white@abc.com[/email]
OT Other $123 mary.doe@abc.com, [email]teddy.schmoe@abc.com[/email]

在 Recipient 数据项中,使用逗号分隔多个电子邮件接收者。这允许我们使用选项 1 –单个查询,并且避免了复制数据或运行多个查询的缺点。我们的查询将如下所示:
该选项是 IBM Cognos 8.3 的新增特性。 收起
参与8

查看其它 6 个回答uper 的回答

uper uper 软件开发工程师 IBM
官网的资料。。有人做过按数据项群发么?
互联网服务 · 2013-04-09
浏览803

回答者

uper
软件开发工程师 IBM
擅长领域: 大数据商业智能
评论404

uper 最近回答过的问题

回答状态

  • 发布时间:2013-04-09
  • 关注会员:1 人
  • 回答浏览:803
  • X社区推广