Cognos Report Studio 10.2.2提示日期的宏

问题描述 投票:0回答:1

使用Cognos 10.2.2 Report Studio,我创建了一个摘要报告,显示每天运行Total#Customers和Total#Customers。然后我收到第二个请求,要求报告默认显示过去7天。

我创建了一个提示宏,以便在报表打开时默认显示最近7天,但如果用户想要运行特定日期范围,则提供提示选择。

我用这个提示宏似乎工作:

[Date Enrollment] between #prompt ('Start Date', 'date', '[Start Date Current Week]')# and #prompt ('End Date', 'date', '[End Date Current Week]')#  

但是,用户希望Running Total#Customers显示从开始日期注册到上次注册日期的运行总计 - 而不是过去7天。

使用此宏,运行总计仅显示图表上显示的日期。她确实希望每天的Total#Customers默认为7天(这就是我创建宏的原因),但是能够更改为开始和结束日期。

我附上了报告的图片。黄色条表用于在特定日期注册的#个顾客。蓝色条目前仅为图表上显示的日期提供运行总计。请求是运行总计,默认情况下显示所有注册日期(数据当前可追溯到2018年5月),#customer enrollment显示按天计算的总注册量。

enter image description here

cognos-10
1个回答
0
投票

您遇到此问题,因为您正在过滤提供图表的查询以排除除提示中提供的天数之外的所有记录。对于运行总计来处理所有值,则在计算发生时必须存在所有值。过滤器阻止了这一点。

有一个解决方案。您必须使用嵌套查询。这相当于在SQL中使用子查询或CTE。以下是步骤:

  1. 获取现有查询并删除上面描述的过滤器
  2. 进入您的查询列表
  3. 拖动新查询
  4. 将原始查询拖到新查询的右侧,如果完成,您应该看到从原始查询到新查询之间的箭头
  5. 打开新查询
  6. 拖动要报告的源(原始)查询中的字段
  7. 添加之前使用的过滤器
  8. 转到报告页面
  9. 选择图表
  10. 将Query属性更改为指向新查询

作为解释,请考虑源查询的输出。如果没有过滤器,它现在可以在数据库中每天输出客户和每天运行的总数。一旦这两个数字都在日期级别计算,我们可以将其过滤到用户关心的更高级别查询的日期。

© www.soinside.com 2019 - 2024. All rights reserved.