У меня есть изображение ниже, которое описывает мою проблему. Я хочу добавить среднюю функцию в FINAL GRADE и преобразовать ее в класс письма (LG) и оценку (GP). Только столбцы Qtr1,2,3 & 4 являются частью SQL-сервера db. Я создал столбец FINAL GRADE в SSRS. Мне также нужно заполнить результат в строке GPA. Надеюсь, кто-то может мне помочь. Заранее спасибо.SSRS (swtich или средняя или любая формула)
ответ
Вы можете написать собственный код в RDL (https://msdn.microsoft.com/en-us/library/ms156028.aspx).
Вы можете написать что-то вроде этого.
public string ConvertGradetoLetterGrade(int grade)
{
if (grade > 50)
return "LG"
else
return "GP"
}
public decimal GetAverage(decimal qtr1, decimal qtr2, decimal qtr3, , decimal qtr4)
{
decimal sumAll = qtr1+qtr2+qtr3+qtr4;
return sumAll/4;
}
Затем просто вызовите имя функции в таблице.
Лучший способ выполнить это - для набора данных, который должен содержать строки, а не столбцы. Например, это:
Subject - Quarter - Score
-------------------------
Math - Q1 - 65
Math - Q2 - 72
Science - Q1 - 80
Science - Q2 - 94
...
Ваш табликса может использовать столбцов группы, группировки по полю Quarter и строк группы группировки на поле Тема. И, наконец, вы бы вставить дополнительную группу столбцов, группировка на статическое значение 1, что позволит вам сделать следующее:
=SUM(Fields!Score.Value)/4
Что бы среднее среднее значение всех 4 квартальных оценок. (Конечно, имена ваших полей могут быть разными). Если вы хотите использовать другой метод усреднения, вы можете использовать все, что захотите.
Преимущество использования группы столбцов заключается в том, что тот же расчет будет работать как в строках детализации (тема 1, тема 2, ..., тема N), так и общая сумма в нижней части для GPA. Разумеется, вы также можете использовать разные вычисления.
Наконец, для версий класса письма пользовательские функции, простой поиск или немного математики и функция Select() (пример здесь http://www.sqlchick.com/entries/2010/9/6/decision-functions-in-ssrs.html) могут сделать трюк.