2015-03-12 3 views
1

У меня есть два параметра в моем отчете, @CustomerId и @SalesType, однако параметр @CustomerId не передается правильно в мой отчет и приводит к ошибке. Должен объявить скалярную переменную «@CustomerId».Параметр SSRS не проходит в запросе

Ниже в начале моего запроса, где это происходит.

Declare @customer nvarchar(max) , @sales varchar(10) 
Set @customer = @CustomerId; 
Set @sales = @SalesType; 

Этот параметр является правильным случаем и является параметром multi-select. Почему это могло произойти? Если я определяю, что он работает, @SalesType работает так, что я застрял, почему @CustomerId isnt.

спасибо.

+0

Ну, вы принимаете параметр многозначного отчета и пытаетесь присвоить его простому параметру. Какой смысл делать это, кстати, почему бы вам не использовать параметры отчета напрямую? – Lamak

+0

Отчет был очень медленным, и было рекомендовано определить параметры, чтобы остановить параметр sniffing. Существует ли конкретный способ определения многозначного параметра? – user3015316

+0

Итак, используется ли хранимая процедура ?, если нет, то ни один параметр не нюхает. Если вы фактически используете sp, то вы должны реализовать эту логику внутри него вместо – Lamak

ответ

1

множественного выбора параметра может содержать несколько значений, поэтому оно должно быть использовано больше как это:

где table.customerId в (@CustomerID)

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