Как рассчитать медиану по группе в SSRS 2008 R2 - PullRequest
1 голос
/ 31 января 2012

Я использую SSRS 2008 R2 для создания некоторых отчетов в своем проекте. В одном из моих отчетов я хочу отобразить медиану длительности входа в систему вместе со средним общим количеством и т. Д., А пользователи сгруппированы по регионам и странам, и я хочуМедиана этой группы.

Я пробовал перейти по ссылке

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

, но здесь я получаю только медиану всей продолжительности входа в систему, а не для сгруппированных элементовпри этом все медианы одинаковы.он должен быть разным для разных групп по регионам или странам.

1 Ответ

0 голосов
/ 07 апреля 2016

У меня была та же проблема, и проблема в том, что вы можете использовать vbCode только для одного набора данных, поскольку существует глобальная общая переменная "values".Чтобы решить эту проблему, я использовал следующий запрос внутри подотчета для каждого

Медиана:

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
...