我正在编写季度报告。报告应该是这样的:
col | 计算 | 源表 |
---|---|---|
Start_Balance | 时段开始时的总和 | Account_Balance|
出售交易 | 两个时间段之间所有出售价值的总和 | 交易|
买入交易 | 两个时间段之间所有买入值的总和 | 交易|
期末余额 | 时间段结束时的总和 | Account_Balance |
对于Cognos,您可以缝合表
该技术与Cognos如何聚合有关
框架管理器联接通常为1到n,用于描述关系
一种星形模式,中间有事实表,表示N所有外部表描述/分组数据,表示1
- 事实表、定量数据、你想求和的东西应该在关系的多方面
- 描述性表格、定性数据、你想描述或分组的东西应该在1上(而不是很多(
要缝合,我们有多个表,我们想成为事实
以您将用于分组的常用表为例,如周期(可能还有其他一些表,如公司或客户等(
将每个事实表与公共表(也称为维度(连接起来,如下所示:
- 账户余额N至1家公司
- 科目_余额N至1期间
- 账户_余额N对1客户
- 交易N到1家公司
- 交易N到1期间
- 交易N到1客户
这将导致Cognos使用联合执行完全外部连接
允许您处理事实表,即使它们具有不同级别的粒度
记住,对于外部联接,您可能必须处理null,并且可能需要使用摘要过滤器,这取决于您的报告需求
你想在你的报告中包括常见的表格,这可能与你希望报告的外观相冲突
一个简单的解决方法是将它们添加到布局中,然后将属性设置为box type none,这样sql就会按照您想要的方式运行,并且报告看起来像您想要的
您可能需要在Framework Manager模型中设置行列式。以下内容很好地解释了这一点:https://www.ibm.com/docs/en/cognos-analytics/11.0.0?topic=concepts-多事实多粒度查询