Подсчет общего количества SSRS, если значение меньше порога
У меня очень уникальный вопрос, и я прочитал множество тем по нему, не нашел правильного ответа. Пожалуйста, помогите мне в этом.
У меня есть матрица, в которой я рассчитываю количество всех удовлетворенных, очень довольных, ни удовлетворенных, ни неудовлетворенных, либо очень неудовлетворенных или неудовлетворенных. Даже если значение счетчика меньше 5, я использую приведенный ниже код, чтобы скрыть счет 5.
= (Переключить (Количество (Поля!Q27_A_1.Value)<5, "*", Количество (Поля!Q27_A_1.Value)>5, Количество (Поля!Q27_A_1.Value)))
И мне нужно посчитать сумму этой ячейки в другую ячейку в строке и показать их значение
But if it contains any "*" values
then total will be "*"
else display = Count(Fields!Q27_A_1.Value).
Я написал эти строки пользовательского кода, но не работает.: Ошибка получения: строка ввода не была в правильном формате
Public Function SafeConvert(ByVal num As String) As String
Dim s as String
IF IsNumeric(num) <5
Then
Return "*"
Else :
For i as integer = 0 to 4
s += num
Next
Return s
End IF
End Function
В конце я вызываю эту функцию в эту ячейку, используя
=Code.SafeConvert(ReportItems!Textbox4.Value)
1 ответ
Проблема с вашим пользовательским кодом кажется излишней, поскольку она не даст ничего, кроме выражения, которое вы уже имели. Поэтому я бы предложил не использовать какой-либо пользовательский код для этого.
Основной проблемой здесь является ссылка на значения в других ячейках. SSRS имеет ограниченную поддержку для этого встроенного. Вы не можете иметь сгруппированное выражение, а затем ссылаться на него и объединять его снова. Но есть способы обойти это, чтобы получить желаемый конечный результат.
Один из способов сделать это - использовать подзапросы в SQL для получения дополнительных значений, которые вам нужны. Затем в отчете вы будете ссылаться на новый столбец для подсчета отфильтрованных значений. Я бы порекомендовал использовать этот подход, если это возможно.
Другой вариант - добавить вычисляемое поле в ваш набор данных. Вам нужно написать выражение, которое фильтрует данные построчно. В зависимости от ваших точных требований, этого может быть недостаточно. Опять же, вы бы сослались на этот новый столбец в вашей таблице.
Я знаю, что это не конкретный ответ, но я надеюсь, что он направит вас в правильном направлении.