sql >> Database >  >> RDS >> Sqlserver

SSRS-parameterfilter met meerdere waarden op basis van dataset

Ik besloot mijn commentaar op je antwoord, M.Ali, te schrijven als antwoord op mijn eigen vraag, omdat ik een manier vond om dit op te lossen. Misschien heb ik mijn probleem niet precies genoeg uitgelegd. Ik ben me bewust van hoe het bovenstaande werkt en hoe parameters op basis van één dataset door de SQL kunnen worden doorgegeven om een ​​andere dataset te maken, meerdere waarden toegestaan ​​of niet. Ik waardeer je antwoord echter!

Het probleem dat ik heb is dat de query die mijn lijst met waarden voor de parameter zou definiëren, en de query voor de eigenlijke dataset, hetzelfde zijn. En het is een ENORME vraag. Met andere woorden, waar in het codevoorbeeld 'TABEL' staat, heb ik enkele honderden regels code. En mijn doel was om deze hele query niet beide datasets te laten definiëren. Als ik in de toekomst de query moet wijzigen, zou ik dat op meer dan één plek moeten doen. Zo heb ik het opgelost:

Ik heb de hoofdquery in een gedeelde dataset geplaatst in plaats van deze in mijn rapport in te sluiten. En ik heb toen een row_number-functie aan mijn query toegevoegd, zoals:

SELECT ID, Value, UserID, rn = ROW_NUMBER() OVER(PARTITION BY UserID ORDER BY UserID)
FROM *my huge query*

Dit betekent dat er slechts één 'rn =1' rij per UserID is. Toen ging ik terug naar mijn rapport. Mijn originele DataSet1 zou dan gewoon naar de gedeelde dataset verwijzen. De DataSet2 (de parameter één) zou ook verwijzen naar de gedeelde dataset met het enige verschil dat ik een filter aan die dataset heb toegevoegd met de tekst 'rn =1'. Ik heb toen een parameter gemaakt met 'meerdere waarden toestaan' die de waarden van DataSet2 heeft overgenomen. En het werkt als een tierelier. Op deze manier kan ik gewoon naar de gedeelde dataset gaan wanneer ik de query moet bijwerken, en zowel DataSet1 als DataSet2 worden dienovereenkomstig bijgewerkt!

Succes :)

Nogmaals bedankt voor je antwoord!



  1. De mediaan berekenen met een dynamische cursor

  2. Opnieuw en opnieuw! Terugkerende gebeurtenissen in een gegevensmodel beheren

  3. SQLiteException geen dergelijke tabel:ItemTable tijdens het compileren:Select_id,.... van ItemTable

  4. Welke aanpak is sneller om alle POI's uit MySQL/MariaDB te halen met PHP/Laravel