IBM Cognos 最佳实践

IBM Cognos Report Studio 中基于相对和绝对日期的条件业务报表

产品:IBM Cognos BI;关注领域:报表

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: IBM Cognos 最佳实践

敬请期待该系列的后续内容。

此内容是该系列的一部分:IBM Cognos 最佳实践

敬请期待该系列的后续内容。

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 8 Business Intelligence Developer Edition V8.4 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

本文介绍一种在一个提示或一组提示中向报表用户显示 “相对日期” 的方法。许多企业可能需要相对日期活动,如最近 7 天、本月至今、年初至今的活动。

适用性

本文介绍的方法是针对 GO Data Warehouse (query) 包验证的,这个包存在于以下版本的示例中:

  • IBM Cognos 8.4
  • IBM Cognos 8.4.1
  • IBM Cognos 10.1

假定条件

本文假定读者了解 IBM Cognos Report Studio 的功能,因此不会提供一些基本任务的详细步骤。

例外与除外责任

本文所使用的示例数据库包含 01-01-2004 至 31-12-2007 的值。因此,当前日期被硬编码为 17-05-2007。为了使本文所介绍的方法成为动态的,我们可以将硬编码值 17-05-2007 替换成供应商提供的日期函数。

创建 IBM Cognos Report Studio 报表

以下部分将介绍用户创建一个简单清单、静态值参数、过滤器对象和条件格式的步骤。

创建清单

使用 “GO Data Warehouse (query)” 包创建一个清单。在这个例子中,我们通过从 Sales(query) 名称空间选择以下对象来创建一个简单的清单:

  • Product\Product line
  • Time dimension\Date
  • Sales fact\Quantity
  • Sales fact\Revenue
  • Sales fact\Gross profit
图 1. IBM Cognos Report Studio 显示具有上述查询项的清单报表
图 1. IBM Cognos Report Studio 显示具有上述查询项的清单报表

创建值提示

  1. 在报表页上添加一个值提示。将参数命名为 Relative Date,然后单击 “Finish” 按钮。
    图 2. IBM Cognos Report Studio 的 Prompt Wizard- Value Prompt 对话窗口显示名称为 Relative Date 的新参数
    图 2. IBM Cognos Report Studio 的 Prompt Wizard- Value Prompt 对话窗口显示名称为 Relative Date 的新参数
  2. 使用正确的 use 和 display 值创建与所需时间段对应的静态选项。在这个例子中,use 和 display 的值如下所示:
    UseDisplay
    7d最近 7 天
    MTD月初至今
    YTD年初至今
  3. 完成设置之后,Static Choices 对话窗口如下图所示。
    图 3. IBM Cognos Report Studio Static Choices 对话窗口显示 Last 7 days、Month to Date 和 Year to Date 的静态选项
  4. 将提示的 Auto-Submit 属性从 No 改为 Yes。这个设置会使每次提示值修改时自动提交提示值。
  5. 将提示的 Required 属性从 Yes 修改为 No。

创建过滤条件

  1. 创建下面详细的过滤器,它使用之前定义的提示的静态值来决定过滤日期列的日期范围。
    case when ?Relative Date?='7d'
    then ( [Date] between _add_days(2007-05-17,-7) and (2007-05-17))
    
    when ?Relative Date? ='MTD'
    then( [Date] between _first_of_month(2007-05-17) and (2007-05-17))
    
    when ?Relative Date? ='YTD'
    then( [Date] between _add_days(2007-05-17,((_day_of_year(2007-05-17)-1)*-1))
      and (2007-05-17))
    end

    为了使这个过滤条件变成动态的,我们可以将硬编码的日期 2007-05-17 替换成供应商提供的时间函数,它将查询执行时的当前日期。
    图 4. IBM Cognos Report Studio 详细过滤对话框显示过滤器定义的情况
    图 4. IBM Cognos Report Studio 详细过滤对话框显示过滤器定义的情况
  2. 将详细过滤器的 Usage 属性从 Required 修改为 Optional。
  3. 这时,报表执行后会产生以下输出结果。为了证明过滤器是有效的,我们需要在值提示旁边增加一个 ParamDisplayValue('Relative Date') 布局计算。
    图 5.IBM Cognos Viewer 以 HTML 格式显示最近 7 天内的清单输出结果
    图 5.IBM Cognos Viewer 以 HTML 格式显示最近 7 天内的清单输出结果

    如果提示修改,那么屏幕会自动刷新数据和计算布局,以反映新的时间段。
    图 6. 在用户修改提示值后,IBM Cognos Viewer 以 HTML 格式显示年份天数时间段的清单输出结果
    图 6. 在用户修改提示值后,IBM Cognos Viewer 以 HTML 格式显示年份天数时间段的清单输出结果

报表执行调度

在许多时候,我们需要调度报表的执行和/或分布。我们可以利用相对日期概念进行报表调度。

  1. 为了实现调度,我们需要创建对应三个报表周期的三个新报表视图。
    图 7. IBM Cognos Connection 显示三个报表周期的报表视图
    图 7. IBM Cognos Connection 显示三个报表周期的报表视图
  2. 在 IBM Cognos Connection 中,创建一个新的 Relative Dates (Last 7 day) 调度。在这个调度中,将 Frequency 设置为 By Week、Every (1) Week on Monday,并将 Prompt Values 设置为 Over ride Default values,当报表提示出现时,选择 Last 7 Days。然后再选择一个开始日期。
    在这个例子中,一位 IBM Cognos Report 管理员创建了一个在每周一早上执行的 Last 7 day 报表。
    图 8. IBM Cognos Schedule Management 显示了一个按 Last 7 day 报表周期的调度计划
    图 8. IBM Cognos Schedule Management 显示了一个按 Last 7 day 报表周期的调度计划

    (查看图 8 全图。)


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=677785
ArticleTitle=IBM Cognos 最佳实践: IBM Cognos Report Studio 中基于相对和绝对日期的条件业务报表
publish-date=06022011