Нам нужно рассчитать процентиль (95-й и 99-й) в отчете SSRS на основе общего набора данных, который возвращает агрегированные данные с 15-минутным интервалом.Процент должен быть для дня в целом, но для контракта.
Для аргументов, скажем, это наши данные:
select
'Test' as [ContractName],
1 as [Value]
union all
select
'Test' as [ContractName],
3 as [Value]
union all
select
'Test' as [ContractName],
4 as [Value]
union all
select
'Test' as [ContractName],
6 as [Value]
union all
select
'Test' as [ContractName],
7 as [Value]
union all
select
'Test' as [ContractName],
36 as [Value]
union all
select
'Test' as [ContractName],
56 as [Value]
union all
select
'Test' as [ContractName],
798 as [Value]
union all
select
'Test' as [ContractName],
324 as [Value]
union all
select
'Test' as [ContractName],
456 as [Value]
union all
select
'Test' as [ContractName],
657 as [Value]
union all
select
'Test' as [ContractName],
658 as [Value]
Это почти отсортировано (это было, когдаЯ создал его), но сами данные не были бы в реальном приложении.
Мне нужно иметь возможность получить процентиль из этого набора данных без изменения SQL, так как это общий набор данных, используемый для контрактной отчетностии не может быть изменено.Общий набор данных используется для обеспечения согласованности всего набора отчетов.Поэтому решение должно быть в таблице в итоговом отчете.
Я посмотрел на выражение SSRS - запрос из набора данных с группой и заметил, что он имеет то же основное использование, что иthis Найдите медиану вычисляемого поля в SSRS 2012 , которое взято из https://blogs.msdn.microsoft.com/robertbruckner/2008/07/21/using-group-variables-in-reporting-services-2008-for-custom-aggregation/ и требует наличия ряда скрытых строк и групповых переменных, которые нелегко поддерживать / редактировать позднее.