0

У меня очень уникальный вопрос & Я прочитал бесчисленные темы на нем, не нашел правильного ответа. Пожалуйста, помогите мне в этом.SSRS Общий подсчет подсчета, если значение меньше порога

  1. У меня есть матрица, где я расчетливый подсчет всех Удовлетворенный, Очень safistied, ни удовлетворения, ни неудовлетворенными или очень неудовлетворенным или неудовлетворенной. Даже если значение счета меньше 5, я использую ниже код, чтобы скрыть счет 5.

    = (Switch (Count (Fields! Q27_A_1.Value) < 5, "*", Count (Fields! Q27_A_1.Value)> 5, граф (Fields! Q27_A_1.Value)))

и мне нужно подсчитать общее количество этой ячейки в другую ячейку в строке и показать их значение

But if it contains any "*" values 
then total will be "*" 
else display = Count(Fields!Q27_A_1.Value). 

Я writtten этих строк пользовательского кода, но не работает. : Получение ошибки: Строка ввода не была в правильном формате

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) 

ответ

0

Вопроса с пользовательским кодом кажется излишним, поскольку ISN «Я собираюсь выполнить что-то большее, чем выражение, которое вы уже имели. Поэтому я бы предложил не использовать какой-либо пользовательский код для этого.

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

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

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

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

+0

Помогите мне понять это сообщение об ошибке «содержит ошибку: строка ввода не была в правильном формате». Сообщение об ошибке появляется только при возврате из значения For for. Можете ли вы подтвердить, что отличное литье было сделано отлично? –

+0

Есть несколько проблем с этой функцией. 'IsNumeric' возвращает true или false, поэтому он всегда будет <5. Вы перебираете' s + = num', но вы никогда не меняете «num», поэтому он будет просто конкатенировать одну и ту же строку 5 раз. Кажется, вы пытаетесь перебирать значения, но вы просто передаете строку, это не массив. Он также не обрабатывает нули, так как «s» никогда не запускается. Но опять же, я бы предложил не пытаться исправить эту функцию, я не думаю, что она решит ваши проблемы. – StevenWhite

+0

Thanks stevenwhite Для этого комментария. Не могли бы вы обновить мой код. Я новичок в SSRS и не уверен, что много продуктов, пожалуйста –

Смежные вопросы