SSRS не возвращает все строки хранимой процедуры - PullRequest
0 голосов
/ 10 января 2020

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

При запуске отчета для нескольких указанных c номеров заказов на продажу все строки не возвращаются или вообще не отображаются. Когда я запускаю хранимую процедуру для тех же номеров заказов на продажу, все строки отображаются, как и ожидалось.

Единственный способ показать правильные данные в SSRS - использовать выбор параметров для поставщика.

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

PROCEDURE [dbo].[spMasterPipelineReport] 
    @SalesOrderNumber AS varchar(21),
    @CustomerPO AS varchar(21), 
    @Selection AS varchar(250), 
    @PurchaseOrderNumber AS varchar(21), 
    @Vendor AS varchar(MAX),  
    @Customer AS varchar(MAX)

Где предложение в запросе:

WHERE  
    (@SalesOrderNumber IS NULL OR SalesOrderNumber = @SalesOrderNumber)
    AND (@CustomerPO IS NULL OR CSTPONBR = @CustomerPO) 
    AND  Selection IN (SELECT * FROM dba_parseString_udf(@Selection, ',')) 
    AND (@PurchaseOrderNumber IS NULL OR PONUMBER = @PurchaseOrderNumber) 
    AND POVENDORID IN (SELECT * FROM dba_parseString_udf(@Vendor, ','))
    AND CUSTNMBR IN (SELECT * FROM dba_parseString_udf(@Customer, ','))

В SSRS параметр для номера заказа на продажу установлен на:

=IIF(Parameters!SalesOrderNumber.Value ="",Nothing,Parameters!SalesOrderNumber.Value)

Я не могу определить, что нужно изменить, чтобы показать ВСЕ соответствующие строки.

1 Ответ

0 голосов
/ 15 января 2020

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

...