Cognos多页报表Bursting配置求助:无需汇总查询的实现方式
Cognos多页面Bursting无需汇总查询的解决方案
有两种可行的方案,不用创建包含三个查询所有数据的汇总查询:
方案1:用去重联合查询做Bursting分组查询
- 新建一个联合查询,将三个页面查询里的
email字段分别加入到联合查询的分支中 - 在联合查询的属性里开启去重(Distinct),这样就能得到所有需要接收报表的唯一email列表,这个列表就是Bursting的分组依据
- 配置Bursting时,把这个联合查询设为分组查询,同时给每个页面的查询设置Bursting关联:将页面查询的
email字段与分组查询的email字段绑定 - 运行Bursting时,系统会自动根据分组查询的每个email,筛选对应页面中匹配该email的记录,只发送该用户相关的内容
方案2:利用Bursting上下文传递过滤
- 如果其中一个页面的查询已经包含了所有需要接收的email(三个页面的email集合是该查询的子集),可以直接用这个查询作为Bursting分组查询
- 给另外两个页面的查询添加过滤器:
[当前页面查询].[email] = [Bursting Context].[email] - 这样Bursting运行时,会把分组查询的当前email传递给其他页面的过滤器,自动筛选出对应的数据
注意事项
- 用联合查询时,必须保证三个查询的
email字段数据类型完全一致,否则联合操作会失败 - 每个页面的内容要严格绑定自身的查询,不要引用其他查询的字段,避免数据混乱
- 测试阶段优先选择少量email做验证,确认每个用户收到的内容正确后再批量执行
内容的提问来源于stack exchange,提问作者dany allaw
相关产品推荐
相关产品推荐

