Подсчет общего количества SSRS, если значение меньше порога

У меня очень уникальный вопрос, и я прочитал множество тем по нему, не нашел правильного ответа. Пожалуйста, помогите мне в этом.

  1. У меня есть матрица, в которой я рассчитываю количество всех удовлетворенных, очень довольных, ни удовлетворенных, ни неудовлетворенных, либо очень неудовлетворенных или неудовлетворенных. Даже если значение счетчика меньше 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 для получения дополнительных значений, которые вам нужны. Затем в отчете вы будете ссылаться на новый столбец для подсчета отфильтрованных значений. Я бы порекомендовал использовать этот подход, если это возможно.

Другой вариант - добавить вычисляемое поле в ваш набор данных. Вам нужно написать выражение, которое фильтрует данные построчно. В зависимости от ваших точных требований, этого может быть недостаточно. Опять же, вы бы сослались на этот новый столбец в вашей таблице.

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

Другие вопросы по тегам