【问题标题】:Cognos Report total values with same dateCognos 报告同一日期的总值
【发布时间】:2021-10-30 03:38:04
【问题描述】:

我正在 IBM Cognos 报表工作室中构建报表。

一组数据如下所示: 包括地点名称、项目名称、项目编号和库存天数。

id     date       type      hours
1   10/27/2021    work       7
1   10/27/2021    overtime   1
1   10/24/2021    work       7
1   10/26/2021    work       7 

我用总计来计算同一日期的小时数

total ([Hours] for [Date],[ID])

返回:

id     date       type      hours
1   10/27/2021    work       8
1   10/27/2021    overtime   8
1   10/24/2021    work       7
1   10/26/2021    work       7 

然后我尝试了计数和运行计数。然后在过滤器中设置 count = 1。之后设置对象聚合。 数据返回:

id     date       type      hours  count
1   10/27/2021    work       1      1
1   10/27/2021    overtime   1      2
1   10/24/2021    work       1      1
1   10/26/2021    work       1      1

我需要什么:

id     date       type      hours 
1   10/27/2021    work       8
1   10/24/2021    work       7
1   10/26/2021    work       7 

感谢您的帮助!

【问题讨论】:

  • 那么问题是什么?
  • 我编辑了这个问题。我需要的是同一日期的总工作时间。但是当我应用计数过滤器时,总计功能将不起作用。
  • 你能解释一下计数过滤器吗?这是为了控制返回的行数吗?例如,您希望每个日期查看 1 行,并且您希望包括所有类型的小时数......如果是这样,类型 colum 会产生误导,您可能希望将其删除(因为它会包括工作时间和加班时间)
  • 几件事。首先,id 1 在 10 月 27 日没有完成 8 小时的打字工作。 ID 1 完成了 7 小时的打字工作和 1 小时的打字加班。我不知道为什么您希望将小时数设为 8,但在投影中仍有类型列。我不确定您的第一个查询与您的计数和运行计数之间的联系是什么。我不明白它们与您需要的表格之间的联系。
  • 您明白为什么您的表达式在您的第一个查询中为 10 月 27 日的工作和加班类型返回 8 小时吗?它正在做你要求它做的事情。

标签: sql cognos


【解决方案1】:

需求还是有点不清楚,但如果我理解正确的话,查询需要这些数据项:

Name Expression Aggregation
id [id] none
date [date] none
type 'work' none
hours [hours] Total

然后用这个表达式添加一个过滤器:

[type] in ('work', 'overtime')

包括您认为“有效”的 [type] 的任何值。

或者,因为您的 cmets 表明您的样本输入和所需的输出不完整...

Name Expression Aggregation
id [id] none
date [date] none
type case when [type] in ('work', 'overtime') then 'work' else [type] end none
hours [hours] Total

...没有过滤器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多