If you’re managing a large IT environment and want to generate a report that lists all software installed across systems from a specific company — like Microsoft, Adobe, or Google — you’re in the right place.
In this guide, you’ll learn how to build a custom SQL query for SSRS (SQL Server Reporting Services) that uses a text input parameter instead of a dropdown, allowing dynamic filtering by company name.
🧩 The Scenario
You’re tasked with generating a report that shows all installed software products from a particular company — e.g., everything from Microsoft Corporation. Here’s the original SQL query you might start with:
sqlCopyEditSELECT DISTINCT
SYS.Netbios_Name0,
SYS.User_Name0,
SP.ProductName,
SP.CompanyName,
SP.ProductVersion
FROM fn_rbac_GS_SoftwareProduct(@UserSIDs) AS SP
JOIN fn_rbac_R_System(@UserSIDs) AS SYS
ON SP.ResourceID = SYS.ResourceID
WHERE SP.CompanyName = @company
ORDER BY SP.CompanyName, SP.ProductName, SP.ProductVersion;
But this setup filters exact matches only, and SSRS will default to a dropdown if you don’t configure it manually.
🚫 Why Dropdowns Aren’t Ideal Here
- Too many company names — dropdowns become slow and hard to navigate.
- Misspellings or minor variations in names break the filter.
- Users need more flexibility to search using partial names.
✅ The Fix: Use a Text Input to Filter by Company Name
1. Update the Query for Partial Matching
Let’s make the query more flexible by using the LIKE operator. Here’s the improved version:
sqlCopyEditSELECT DISTINCT
SYS.Netbios_Name0,
SYS.User_Name0,
SP.ProductName,
SP.CompanyName,
SP.ProductVersion
FROM fn_rbac_GS_SoftwareProduct(@UserSIDs) AS SP
JOIN fn_rbac_R_System(@UserSIDs) AS SYS
ON SP.ResourceID = SYS.ResourceID
WHERE (@company IS NULL OR SP.CompanyName LIKE '%' + @company + '%')
ORDER BY SP.CompanyName, SP.ProductName, SP.ProductVersion;
This allows users to type any part of the company name — e.g., “micro” will match “Microsoft Corporation”.
2. Change the Parameter Input Type in SSRS
Now let’s make SSRS show a text box instead of a dropdown:
- In the “Report Data” panel, locate the
@companyparameter. - Right-click → Parameter Properties.
- Go to the “Available Values” tab.
- Choose “None”.
SSRS will now render a simple text input box, allowing users to type whatever they want.
🔍 Make It Case-Insensitive (Optional)
If your SQL Server collation is case-sensitive, you can explicitly ignore case like so:
sqlCopyEditWHERE (@company IS NULL OR LOWER(SP.CompanyName) LIKE '%' + LOWER(@company) + '%')
🧪 Test Example: Searching for Microsoft
Once your report is ready:
- Run it.
- Type
Microsoftin the input box. - Boom — you’ll see all Microsoft products installed across your environment.
🎉 Final Thoughts
By switching from rigid dropdowns to text input parameters, you give users flexibility and control — especially useful for environments with hundreds of vendors and software products.
This approach is easy to implement, improves performance, and provides a much better reporting experience.