求助!!Cognos-querystudio中实现动态统计前n名的金额汇总。

0
具体需求:
用户拖时间,拖前n名金额,即为时间前n名的金额汇总;
拖科目,拖前n名金额,即为科目前n名汇总;
拖时间,科目 ,拖前n名金额,即为时间科目前n名汇总。

还请各位大侠不吝赐教!!!!多谢了!!!!!
已邀请:
2

曾力 - 深处互联网四大坑当中~ 2013-12-15 回答

这种情况,强烈建议在fm当中用sql语句加宏参数的形式来做。
排多少名,可以用dense_rank() over (paration by 维度字段来处理 order by 排序字段)来处理。
累计 ,可以用 sum() over (paration by 维度字段来处理 order by 排序字段) 来处理.
虽然cognos的部分函数可以解决这个问题,但是,有两点你的这种情况无法满足。
1.用到复杂函数必须用到rs
2.采用复杂函数,cognos生成的sql也会相对复杂,影响查询效率。
因此,模型当中sql处理,是一种比较灵活高效的处理方式。
0

jf_emal 2013-12-16 回答

在fm里sum() over (paration by 维度字段 order by 排序字段) 这种我也想过。
我的实现方式类似 sum(case when row_number() over(paration by 维度字段 order by 排序字段) <= N then 金额 else 0 end )
关键这个维度字段 用哪个,维度字段的个数,都不是固定的。这就 不行了。。。。。


另,
你说:"1.用到复杂函数必须用到rs“ 不懂,什么意思?

要回复问题请先登录注册