1

我正在使用 SSRS 2008 R2 在我的项目中做一些报告,在我的一份报告中,我想显示登录持续时间的中位数以及平均总数等,并且用户按地区和国家分组,我希望中位数为那个组。

我试过以下链接

http://blogs.msdn.com/b/robertbruckner/archive/2008/07/20/using-group-variables-in-reporting-services-2008-for-custom-aggregation.aspx

但是在这里我只得到整个登录持续时间的中位数,而不是分组项目的中位数,所以所有中位数都是相同的。对于不同的地区或国家的不同群体,它应该是不同的。

4

1 回答 1

0

我有同样的问题,问题是你只能在一组数据上使用 vbCode,因为有一个全局共享变量“值”。为了解决这个问题,我在每个子报表中使用了以下查询

中位数:

Select Median.*, (Convert (decimal, Median.bh) + Convert(decimal, Median.th))/2 as MedainResult

from(
    sELECT 
    (SELECT max(finalGrade)
        from
        ( SELECT       top 50 percent finalGrade
        FROM  GradeTable
        WHERE (TermCode = 201410) (CRN = 11735)
        order by finalGrade) as BottomHalf) as bh
,
  (select min(finalGrade)
  from
   ( SELECT  top 50 percent finalGrade
    FROM  GradeTable
    WHERE (TermCode = 201410) (CRN = 11735)
    order by finalGrade desc
    ) as TopHalf
  ) as th
) as Median
于 2016-04-07T09:06:06.117 回答