Функции отчета
Службы Microsoft Reporting Services предлагают специальные встроенные агрегатные функции, которые можно использовать в выражениях вместо того, чтобы определять агрегаты в диалоговом окне «Поля сводки» SunSystems Reporting Services. К этим функциям относятся:
- стандартные агрегатные функции, например Sum, Min, Max и Count
- агрегатные функции выполнения, например RowNumber и RunningValue.
Стандартные агрегатные функции
Ниже приведены стандартные агрегатные функции служб Microsoft Reporting Services:| Функция Microsoft Reporting Services | Описание |
|---|---|
| Avg | Возвращает среднее всех значений для указанного выражения, отличных от NULL. |
| Count | Возвращает количество значений для указанного выражения. |
| CountDistinct | Возвращает количество различных значений для указанного выражения. |
| CountRows | Возвращает количество строк в указанной области. |
| First | Возвращает первое значение для указанного выражения. |
| Last | Возвращает последнее значение для указанного выражения. |
| Max | Возвращает максимальное значение из всех значений для указанного выражения, отличных от NULL. |
| Min | Возвращает минимальное значение из всех значений для указанного выражения, отличных от NULL. |
| StDev | Возвращает стандартное отклонение для всех значений указанного выражения, отличных от NULL. |
| StDevP | Возвращает среднеквадратичное отклонение генеральной совокупности значений для указанного выражения, отличных от NULL. |
| Sum | Возвращает сумму значений для указанного выражения. |
| Var | Возвращает дисперсию для всех значений указанного выражения, отличных от NULL. |
| VarP | Возвращает дисперсию генеральной совокупности для всех значений указанного выражения, отличных от NULL. |
Агрегатные функции выполнения
Можно использовать в выражениях любую из перечисленных ниже агрегатных функций выполнения:
- RowNumber;
- RunningValue;
- Previous;
- InScope;
- Level.
Агрегатные функции выполнения, например RowNumber и RunningValue, используют показанный ниже синтаксис:
=AggregateFunction(Fields!fieldname.Value[, Scope])
Параметр Scope (область) является необязательным. Если его не задавать, то будет использоваться текущая область.
Пример 1.
=Avg(Fields!LedgerLine_baseAmount_amount.Value,"LedgerLine_accountCode")
Пример 2.
=Avg(Fields!LedgerLine_baseAmount_amount.Value)
| Агрегатная функция выполнения | Описание |
|---|---|
| RowNumber(Scope) | Возвращает текущий номер строки в указанной области. |
| RunningValue(Expression, Function, Scope) | Возвращает текущее статистическое значение для выражения, определенного функцией и указанной областью. |
| Previous(Field Expression) | Текущее значение сбрасывается для каждого нового экземпляра области данных, задаваемой параметром Scope. |
| InScope(Scope) | Возвращает логическое значение. |
| Level(Scope) | Возвращает значение уровня группы в рекурсивной иерархии. Параметр Scope можно опустить. |