【发布时间】:2015-06-24 18:42:07
【问题描述】:
这与Cognos Calculate Variance Crosstab (Relational) 非常相似,但我的数据源是维度的。
我有一个简单的交叉表,例如:
| 04-13-2013 | 04-13-2014
---------------------------------------
Sold | 75 | 50
Purchased | 10 | 15
Repaired | 33 | 44
- 过滤器:用户选择了 1 个日期,然后我们包含该日期加上 1 年前。
- 维度:日期是 YQMD 层次结构中的日级别。
- 度量:我们从度量维度显示各种度量。
- 已售出
- 已购买
- 已修复
这是报表工作室中的样子:
| <#Day#> | <#Day#>
---------------------------------------
<#Sold#> | <#1234#> | <#1234#>
<#Purchased#> | <#1234#> | <#1234#>
<#Repaired#> | <#1234#> | <#1234#>
我希望能够像这样将每个度量的两个时间段之间的方差计算为百分比。
| 04-13-2013 | 04-13-2014 | Var. %
-----------------------------------------------
Sold | 75 | 50 | -33%
Purchased | 10 | 15 | 50%
Repaired | 33 | 44 | 33%
我在 的右侧添加了一个查询表达式,如下所示,但我无法进行方差计算。
| <#Day#> | <#Variance#>
---------------------------------------
<#Sold#> | <#1234#> | <#1234#>
<#Purchased#> | <#1234#> | <#1234#>
<#Repaired#> | <#1234#> | <#1234#>
这些是我尝试过的表达式和我得到的结果:
硬编码的表达式有效,但仅适用于那 1 个度量:
total(case when [date] = 2014-04-13 then [Sold] end)
/
total(case when [date] = 2013-04-13 then [Sold] end)
-1
我认为 CurrentMember 和 PrevMember 可能有效,但它会产生空白单元格:
CurrentMember( [YQMD Hierarchy] )
/
prevMember(CurrentMember([YQMD Hierarchy]))
-1
我认为是因为 prevMember 产生空白。
prevMember(CurrentMember([YQMD Hierarchy]))
仅使用 CurrentMember 会给出两列的总和:
CurrentMember([YQMD Hierarchy])
我可以使用什么表达式来利用我的维度模型并添加具有 % 方差的列?
这些是我用于研究的页面:
【问题讨论】:
标签: crosstab cognos cognos-10 cognos-bi