这两天在做报表的过程中遇到如下的问题:
数据用一个交叉表中展现,在保证报表各个分部排序不变的情况下,展示某个指标的排名,在函数中找到了rank函数,直接做了一个叫做'排名'的度量做计算:rank(key)
然后把它拖到了交叉表中,验证报表的时候不报错,但是在运行的时候一直报rank函数上下文中不支持的错误,后面一大堆,也看不明吧,在网上搜索了很工夫,终于发现是rank函数用错了,原来使用rank不是那么简单的,呵呵
[img]http://dl.iteye.com/upload/attachment/0069/3793/8d98801b-bef4-39e2-8d2b-0b02e73a5780.jpg[/img]
使用的时候要注意,在汇总函数和成员汇总下面都包含这个函数,但是两个的语法是不一样的,汇总函数更多得时这对普通的关系查询,而成员汇总下面的函数主要针对维度化建模的数据的而言的,我在FM层使用了维度化的模型,因此正确的写法应该是
rank([度量]key [asc|desc] within set [成员集](月份))
而关系模型的使用如下:
rank([度量]key [asc|desc] for [数据项](月份))
这里先记下来了,也供大家分享
数据用一个交叉表中展现,在保证报表各个分部排序不变的情况下,展示某个指标的排名,在函数中找到了rank函数,直接做了一个叫做'排名'的度量做计算:rank(key)
然后把它拖到了交叉表中,验证报表的时候不报错,但是在运行的时候一直报rank函数上下文中不支持的错误,后面一大堆,也看不明吧,在网上搜索了很工夫,终于发现是rank函数用错了,原来使用rank不是那么简单的,呵呵
[img]http://dl.iteye.com/upload/attachment/0069/3793/8d98801b-bef4-39e2-8d2b-0b02e73a5780.jpg[/img]
使用的时候要注意,在汇总函数和成员汇总下面都包含这个函数,但是两个的语法是不一样的,汇总函数更多得时这对普通的关系查询,而成员汇总下面的函数主要针对维度化建模的数据的而言的,我在FM层使用了维度化的模型,因此正确的写法应该是
rank([度量]key [asc|desc] within set [成员集](月份))
而关系模型的使用如下:
rank([度量]key [asc|desc] for [数据项](月份))
这里先记下来了,也供大家分享
本文记录了解决在报表制作过程中使用Rank函数出现的错误问题。作者尝试直接应用Rank函数创建'排名'度量,但遭遇了运行时报错的情况。通过研究发现,Rank函数的正确使用依赖于不同的模型类型。对于维度化模型,应使用特定的语法格式。
5067

被折叠的 条评论
为什么被折叠?



