SSMS
 sql >> Datenbank >  >> Database Tools >> SSMS

SSRS-Datensätze werden nicht angezeigt, wenn (Alle auswählen) verwendet wird, aber wenn ein bestimmter Wert ausgewählt wird

Wenn Sie einen Mehrfachauswahlparameter haben, sollte SSRS eine durch Kommas getrennte Liste von Werten an Ihre gespeicherte Prozedur senden. Sie sind dafür verantwortlich, diese wieder in etwas aufzuteilen, dem Sie beitreten können.

Im Bericht selbst erhalten Sie die Werteliste nicht in einem schön verpackten String zur Anzeige. Ich musste Code verwenden, um die Werte im Parameter zu durchlaufen.

Ich habe getestet, was SSRS tut, wenn Sie einen leeren verfügbaren Wert haben. Ich habe einen Testbericht erstellt, der die sechs verfügbaren Optionen und dann eine gespeicherte Prozedur hatte, um die Ausgabe der ausgewählten Werte zu erzwingen:

CREATE PROCEDURE dbo.Test_RPT
(
 @TestMultiSelect varchar(1000)
)
AS
SELECT @TestMultiSelect RVAL

Im Bericht hatte ich nur ein einzelnes Textfeld, das diesen RVAL anzeigte Feld.

Wenn ich die leere Option an den Anfang setze, war die Ausgabe 1,2,3,4,5 . Wenn sich die leere Option an einer anderen Stelle befand, wurde sie eingefügt:1,2,3,,4,5 , 1,2,3,4,5, .