Cognos - 在某些月份没有值时在 x 轴上显示每个月

Cognos - Showing every month on x-axis when some months don't have values

首先要说的是,我对 Cognos 还很陌生,主要是通过在活动报告中处理项目来学习的。我在创建像时间序列一样的图形时遇到问题。我希望它每个月显示一次(某些月份有多个值,其他月份有 none)。我想直观地看到数据点之间的差距(例如:我们从 1 月开始每 3 个月订购一次产品,因此我们应该看到我们不订购产品的月份的差距 - 例如 2 月和 3 月)。 我试过将标签控件更改为手动并将显示频率设置为 1。但是,我认为我的问题是某些月份内没有任何数据。

你说得对,你的问题是缺少数据。标准内部联接将删除在两个 table 中都没有对应行的行,从而导致间隙。

有两种解决方案可用:

  1. 使用联合为每个日期创建 "dummy" 条记录
  2. 在日期 table 和包含其余信息的 table 之间手动指定外部联接

由于第一种技术最常见,我将在这里概述其基本步骤。

  1. 创建新查询
  2. 将您的月份数据项添加到查询中
  3. 为您的度量创建一个 'dummy' 数据项。使用 0 作为其表达式。
  4. 如果主查询中有日期范围过滤器,请在此处应用它
  5. 创建联盟
  6. 将您的新查询拖入并集
  7. 将您的原始查询拖到并集中
  8. 将日期和度量数据项拉入联合查询
  9. 将度量的聚合函数 属性设置为总计
  10. 使用联合查询作为图表的来源

对于每个带有度量数据的月份,您将有两行,一行包含度量金额,另一行包含 0。这两行将通过自动分组和汇总功能合并。这些措施将一起添加。添加到 0 的任何内容最终都会成为原始数量。

对于没有度量数据的月份,只有 'dummy' 行的度量为 0,它将显示在您的图表中。