sql >> Databasteknik >  >> RDS >> Sqlserver

Uppdatera rapportparametrar baserat på parameterval? (SSRS)

Detta fungerar automagiskt om du beställer dina parametrar och datauppsättningar korrekt

  • Först ställer du in en primär (rapport) datamängd, sedan en datamängd för varje parameteruppsättning. Koda WHERE sats i datamängderna för att göra beroenden korrekta över parametervariabler
  • För det andra, beställ dina parametrar i rapporten | Parametrar-menyn så att den första variabel/parameter som du vill att användaren ska fylla i är överst, och gör att den andra datamängden beror på den parametern. Följ denna ordning genom parametrarna; de slutliga parametrarna bör vara de som den faktiska rapportdatauppsättningen beror på.
  • Upprepa för efterföljande parametrar

Detta kommer att fungera om din WHERE satsen i den andra och efterföljande datamängden har variabler som SSRS vet är ifyllda från tidigare parametrar.

Som ett exempel har jag tre datamängder från de ärevördiga pubs databas (exempel 2000).

pubslist används för att fylla i parametern @p och ser ut så här:

 select pub_id, pub_name from publishers

titleslist fyller i @t-parametern och ser ut så här:

 select title_id, title from titles where pub_id = @p

Slutligen, reportdataset ser ut så här:

 select title, price, ytd_sales from titles where title_id = @t

Ordningen på parametrarna i Report | Report Parameters menyn är avgörande; eftersom datamängderna måste köras i den ordning som visas ovan, och @t-parametern finns i en datauppsättning som förlitar sig på att @p-parametern ställs in först, flyttar vi @p till toppen av listan.

Nu utvärderar SSRS den datauppsättning som behövs för att fylla rullgardinsmenyn för den första parametern med etiketter. Den förlitar sig på en datauppsättning som inte behöver en parameter, så den kan produceras omedelbart.

Sedan, efter att ha fått det parametervärdet, kan den fylla i den andra parameterns rullgardinsmeny. Det resulterar i sin tur i att rapporten tas fram.



  1. Hur man åtgärdar saknade fält i en korstabellfråga i Access

  2. Hur kan jag infoga kolumnkommentarer i PostgreSQL via Python?

  3. Flera infogade rad-ID

  4. Hur man tar bort text mellan 2 tecken med query i MYSQL