在使用rank函数时,由于有2种方法,详情见之前的博客:
Cognos函数(十八) - 使用rank时处理为NULL的数据
所以使用过程中可能会遇到一个错误:
“rank”函数在已使用该函数的上下文中不受支持。
GEN-ERR-0009 数据源类型“” - 函数“realDataMode”不受“NoDataModeProvider”支持。GEN-ERR-0009 数据源类型“OL” - 函数“currentMember”不受“RelationalQueryProvider”支持。GEN-ERR-0009 数据源类型“” - 函数“manyDimensions”不受“TabularOperationProvider”支持。GEN-ERR-0011 “RelationalQueryProvider”不支持样式“manyDimensions”。GEN-ERR-0009 数据源类型“” - 函数“realDataMode”不受“NoDataModeProvider”支持。GEN-ERR-0009 数据源类型“” - 函数“realDataMode”不受“NoDataModeProvider”支持。
报错是因为rank函数用错了,一个用于关系模型,一个用于DMR模型
举例:
我们在上一回的基础上进行修改
这里的rank其实是汇总下的rank,一般用于关系建模,但是在DMR模型中也可以使用,这里是可以运行的
但是如果,你想要下钻操作的话,就会报错了
因为rank( xx for xx) 是关系模型中使用的,不支持维度模型中的下钻操作
使用这种语法就可以下钻了
rank ( 数字型表达式 [ ASC|DESC ] [ tuple 成员表达式 { , 成员表达式 } ] within set 集表达式 )