SSRS - Использование условия IF в наборе данных

У меня есть структура таблицы на месте. Но данные, которые я вставляю в эти данные, варьируются в зависимости от входных данных.

Input A - Query X 

Input B - Query Y

Чтобы достичь этого, я подумал, что я вставлю условие IF в набор данных и сделаю его прямым к "Query X" или "Query Y" на основе "Input".

Я попробовал это,

IF(Input=='Hello')
(
...
)

Но это бросило ошибку. Можете ли вы помочь мне, как действовать здесь? Есть ли лучший способ, которым я могу достичь моего требования?

1 ответ

Я бы посоветовал не использовать оператор IF по соображениям производительности, но если необходимо, синтаксис в SQL:

if ( 'blah' = 'blah' )
begin
    --do stuff
end

Некоторые другие варианты, которые вы могли бы рассмотреть, вместо IF:

  • Используйте хранимые процедуры, используйте "главный" sproc, вызываемый отчетом, который затем выполняет соответствующий sproc на основе полученных параметров.

  • ОБЪЕДИНЯЙТЕ ВСЕ ваши потенциальные запросы вместе и включите строку в предложение WHERE, чтобы только те запросы, результаты которых вы хотите получить, возвращали любые строки.

  • Если различия в ваших запросах достаточно просты, возможно, вы можете просто использовать операторы CASE для применения правильной логики?

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