日期:2014-05-18  浏览次数:20614 次

SSRS中添加钻取功能后,一些XX率的数据显示不正确
RT,在SSRS中实现钻取功能后,一些XX率的数据在没有钻取的情况下是正确的,
但是添加钻取之后,一开始报表展现的数据不正确(就是那些关于XX率的聚合数据)。。。

比如说从商品大类 钻取到商品中类, 结果商品大类的成交率 成了其下商品中类的成交率数据的简单相加,
我用了其它的聚合函数也不行  

那位大鸟对这个有了解呀?


------解决方案--------------------
不懂帮顶
------解决方案--------------------
SQL code
不懂,帮顶,学习,蹭分.

------解决方案--------------------
以前遇到过,我也很疑惑,但是不管对多维数据浏览器的时候,还是报表工具,如果钻取到上一次,其实就是简单的聚合,但是像库存率啊,这些东西不是简单的聚合,如果简单的相加,数值肯定是不对的,请高人解决。从理论上来讲,这样的逻辑数没有通用性
------解决方案--------------------
这个需要你用SSRS中控控制,当前数据作用率,用 InScope来控制,如果用户操作在当前作用域,获取数据没有问题,如果不在当前作用域,那需要用MDX重写此时作用域的值.
------解决方案--------------------
BI的东西,不懂帮顶!
------解决方案--------------------
路过帮顶得积分!
------解决方案--------------------
那个商品成交率你就在报表里面算嘛。。。比如 x/y 之类的吧,然后聚合的那边也这样算就行了
------解决方案--------------------
最好是在as中就对这个。。率进行处理
------解决方案--------------------
你的数据作用域的问题,
在你需要分组汇总的field =SUM(Fields!xxx.Value, "yourDatesetName")
向你说的这种情况,默认直接SUM(Fields!xxx.Value)作用域是最外面的一层所以要写作用域这时

------解决方案--------------------
看看你的MDX是怎么写的?
------解决方案--------------------
最好在AS的CUBE里面做,通过计算字段也可以
------解决方案--------------------
仿佛还是没有解决。像这样,SUM(Fields!xxx.Value, "yourDatesetName"),inscope里面的值是个大问题
------解决方案--------------------
将率的都做为计算成员,不能作为度量值
------解决方案--------------------
在学习SSRS,好多都搞不明白,哎.共同学习吧.
------解决方案--------------------
不能用简单的SUM来做百分比的计算,必须要SUM(分子)/SUM(分母)这样来做,否则的话就会出现你说的问题,这个在你设计数据源的时候就需要考虑到,而并非在报表上去处理。
举个简单的例子
A B B/A
4 2 50%
3 1 33%
对于这样的数据在计算SUM值时需要SUM(A)/SUM(B),而不是简单去SUM(B/A)
同理,你在写SQL的时候不能把A和B列的SUM值算好再取出来,而是在报表中去做SUM后再相除的操作
------解决方案--------------------
同样问题 还未解决
继续关注
------解决方案--------------------
ssrs不要直接用cube里面率的结果,因为那样会使sum(率),而不是sum(a)/sum(b)
单独在ssrs里面填表达式sum(a)/sum(b)就可以了

------解决方案--------------------
初步解决方案,虽然是很久以前的帖子,但是我也遇到了这个问题,和大家分享一下,希望以后遇到问题的朋友可以解决。
我的版本是2008R2,在占有率的表达式里 把默认的=sum(Fields!占有率.Value)改成 =Aggregate(Fields!占有率.Value) ,只是把聚合函数改一下就好。
------解决方案--------------------
一般情况下不是聚合函数,而是维度层次设计缺陷导致的
再就是你的维度用法,看看关联是否正确

也有可能是本身的逻辑有问题,比如两个互不关联的数放在一起做计算