我有一个简单的交叉表,例如:
Trans | Pants | Shirts |
| 2013 | 2014 | 2013 | 2014 |
---------------------------------------
Jan | 33 | 37 | 41 | 53 |
Feb | 31 | 33 | 38 | 43 |
Mar | 26 | 29 | 51 | 56 |
裤子和衬衫属于数据项:类别
年份属于数据项:年
月份属于数据项:月
Trans(交易)属于数据项: Trans
以下是报告工作室的内容:
Trans | <#Category#> | <#Category#> |
| <#Years#> | <#Years#> | <#Years#> | <#Years#> |
-----------------------------------------------------------
<#Months#>| <#1234#> | <#1234#> | <#1234#> | <#1234#> |
我希望能够计算多年来裤子和衬衫的差异。得到这样的东西:
Trans | Pants | Shirts |
| 2013 | 2014 | YOY Variance | 2013 | 2014 | YOY Variance |
---------------------------------------------------------------------
Jan | 33 | 37 | 12.12 | 41 | 53 | 29.27 |
Feb | 31 | 33 | 6.45 | 38 | 43 | 13.16 |
Mar | 26 | 29 | 11.54 | 51 | 56 | 9.80 |
我尝试使用下面的表达式为YOY Variance插入一个数据项,看看我是否能获得2014年的值,但不能,有些奇怪的原因它只返回2013年的值:
Total([Trans] for maximum[Year],[Category],[Months])
有什么想法吗?救命?
答案 0 :(得分:1)
(我假设你没有DMR。)
在Cognos中没有简单/干净的方法。在您的查询中,您必须在输出中为每年构建一个计算。所以,对于2013年这样的事情:
total (if [Years] = 2013) then ([Trans]) else (0))
2014年基本相同。
从你的横臂上切下Trans片。那么你将在你的岁月之下嵌套这两个计算。要删除所有零或空值,请选择两列。从菜单中选择Data
,
Suppress
,Suppress Columns Only
。
最后,您将在交叉表中的年份旁边放置一个计算结果(不在它们之下)。表达式将是([2014 trans] - [2013 trans])/[2014 trans]
(或者您最终命名为计算结果的任何内容)。将其格式化为百分比,您应该好好去。
告诉你这是一种痛苦!