IIf (Instr) в сообщении об ошибке SSRS - переключение случаев в выражении SSRS - PullRequest
0 голосов
/ 30 мая 2019

Мой отчет выглядит следующим образом:

enter image description here

И моя форма отчета SSRS выглядит следующим образом:

enter image description here

Мне нужна только одна строка итога, и я не хочу, чтобы отображалась общая процентная строка. Для этого я хотел бы добавить оператор case / switch в выражение:

If Column_grouping contains "percent" then show "%value" 
If column_grouping does not contain "percent" then show "total"

И мое выражение SSRS выглядит следующим образом:

​​​​​​​=Switch
(Fields!Column_Grouping.Value like "*percent*", Fields!Total_value_Count_pct.Value,
Fields!Column_Grouping.Value not like "%percent%",Sum(Fields!Total_value_Count.Value))

Очевидно, это выражение неверно.Любая помощь, чтобы исправить это?!

1 Ответ

1 голос
/ 30 мая 2019

Я думаю, вы могли бы немного упростить выражение и просто использовать оператор IIF. SWITCH лучше всего использовать с более чем 2 выражениями для оценки. Кроме того, вы должны иметь возможность использовать InStr или Contains, как вы указали в заголовке вопроса. Я думаю, что следующее выражение должно работать.

= IIF(Fields!Column_Grouping.Value.Contains("percent"), 
      Fields!Total_value_Count_pct.Value, Fields!Total_value_Count.Value)

См. этот ответ для более подробного объяснения того, как работает InStr. Contains просто проверит, встречается ли строка в поле, в котором вы ее используете.

...