-
-
小灰灰1 数据达人Lv4
发表于2020-7-20 15:41
悬赏1
已解决
楼主

前面数据是算的今年的成绩和排名,去年的排名有没有好的实现方式?
因为对浮动维这块的逻辑还不是很清楚,所以不知道有没有好的实现方法?
最佳答案
本帖最后由 xxxl 于 2020-7-23 10:04 编辑
关贴总结
前面三个科目的成绩设置为指标,然后配置过滤条件是XSCJ.nd=@nd
后面去年成绩的时候,也是设置为指标,过滤条件为XSCJ.nd=@nd-1
同时删掉班级字段对应的过滤条件
也就是只让这个nd字段的过滤条件在指标部分生效
小灰灰1 发表于 2020-7-20 21:08
解决方法是:
前面三个科目的成绩设置为指标,然后配置过滤条件是XSCJ.nd=@nd
后面去年成绩的时候,也是设 ...

前面三个科目的成绩设置为指标,然后配置过滤条件是XSCJ.nd=@nd
后面去年成绩的时候,也是设置为指标,过滤条件为XSCJ.nd=@nd-1
同时删掉班级字段对应的过滤条件
也就是只让这个nd字段的过滤条件在指标部分生效
15个回答
可以使用同比环比函数http://bbs.esensoft.com/thread-130675-1-1.html这里有个帖子您可以看看
xxxl 发表于 2020-7-20 15:48
可以使用同比环比函数http://bbs.esensoft.com/thread-130675-1-1.html这里有个帖子您可以看看
...
数据期字段的设置是:

=_PREV(XSCJ.yuwen
+
XSCJ.yingyu
+
XSCJ.shuxue,
-
1)
表达式这么写的,但是结果不对呢


数据库里的数据和界面算出来的结果不一样,这个是哪里语法或者配置不对了么?
小灰灰1 发表于 2020-7-20 16:15
数据期字段的设置是:
=_PREV(XSCJ.yuwen+XSCJ.yingyu+XSCJ.shuxue,-1)
_prev这个算子您用错了 _PREV(XSCJ.yuwen,-1)只能这么取一个主题表字段的
表达式改成_PREV(XSCJ.yuwen,-1)+_PREV(XSCJ.yingyu,-1)+_PREV(XSCJ.shuxue,-1)试试
xxxl 发表于 2020-7-20 16:19
_prev这个算子您用错了 _PREV(XSCJ.yuwen,-1)只能这么取一个主题表字段的
表达式改成_PREV(XSCJ.yuwen,- ...
_PREV(XSCJ.yuwen,-1)这个的结果就已经不对了,取出来的还是今年的,不是去年的
小灰灰1 发表于 2020-7-20 16:23
_PREV(XSCJ.yuwen,-1)这个的结果就已经不对了,取出来的还是今年的,不是去年的 ...
那数据库里2017对应去年的2016有数据吗,看一下计算详情里的sql语句
小灰灰1 发表于 2020-7-20 16:41
数据库里是有2017年的数据的,sql里并没有拼2017这个参数值
您表样是怎么设计的呢,同环比的这些函数需要报表根据数据期浮动的时候来做,如果不是根据数据期浮动来做是根本算不出来的
xxxl 发表于 2020-7-20 16:47
您表样是怎么设计的呢,同环比的这些函数需要报表根据数据期浮动的时候来做,如果不是根据数据期浮动来做 ...

这样设计的,目前前面的排名计算都是正确的,现在就卡在了算去年成绩这里