Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SSRS nie pokazuje żadnych rekordów w raporcie, ale zapytanie zwraca wyniki

Zgadnę i powiem, że to „jak” przekazujesz parametr wielowartościowy. Osobiście, gdy mam do czynienia z SSRS, używam widoków, funkcji tabel lub po prostu wybiera, ponieważ SSRS może natywnie zrozumieć, że to:

Where thing in (@Thing)

W rzeczywistości oznacza to w SSMS:

Where thing in (@Thing.Value1, @Thing.Value2, @Thing.Value3, etc...)

Zgaduję, że twój proc bierze ciąg, który jest w rzeczywistości tablicą oddzieloną przecinkami. Kiedy wykonujesz parametr, który przyjmuje tablicę ciągów, taką jak „1,2,3,4” i adresujesz procedurę za pomocą parametru „Tekst”, który akceptuje wiele wartości, które określasz lub otrzymujesz z zapytania, zasadniczo musisz „ Join' parametrów, jeśli twoja procedura przyjmuje wartość łańcucha, który zawiera tablicę. EG:Procedura o nazwie dbo.test wykonuje się, aby zwrócić wiersze dla wartości 1,2,4 dla identyfikatorów parametrów są pokazane w następujący sposób:

exec dbo.test @ids = '1,2,4'

Gdybym chciał uruchomić proc w SSRS z tą wartością i miałbym parametr wielowartościowy o nazwie „IDS”, musiałbym ręcznie złożyć tablicę w funkcji w SSRS, takiej jak:

=JOIN(Parameters!IDS.Value, ",")

Zasadniczo mówiąc proc, aby uruchomił parametr „IDS”, łącząc ze sobą wiele wartości w łańcuch wartości oddzielonych przecinkami. Robisz to w zestawie danych w lewym okienku, gdzie znajduje się lista „Parametry” zamiast określania parametru, ponieważ jest to tak, jakby [@IDS] zamiast tego klikałeś „Fx” i wstawiasz powyższą funkcję.

Z tego powodu jestem wielkim zwolennikiem widoków, wyborów i funkcji tabel, ponieważ możesz użyć logiki predykatów, aby się tym zająć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak korzystać z funkcji AlwaysOn programu SQL Server

  2. Wyszukaj „dopasowanie całego słowa” za pomocą wzorca SQL Server LIKE

  3. Jak liczyć miejsca dziesiętne w SQL?

  4. wyszukiwanie pełnotekstowe danych z podkreśleniem

  5. sortuj wyniki według kolumny, a nie wiersza