This will allow you to create custom pages to allow users to generate filtered queries dynamically by inputting criteria.
Extract the directory "ReportGen" to the "Orion" directory located at /inetpub/Solarwinds/Orion
Change YOURSQLSERVER to the name of your SQL server
Change NPMDATABASENAME to the name of your NPM Database
Change DBUSER to the username of the user you want to use to access the database
Change DBPASSWORD to the password for the username you just chose to access your database
You'll noticed the basic inputs for my reports contain some custom properties
Site, Coop, and Category
It also contains common table fields NodeID and Status
You can view references to these page elements in the source code of ReportGen.aspx.
Simply change variable names to what you wish to fit your needs.
Also apparent are the page element types eg. Textbox, dropdown, ect. You change those here too.
You can get rid of anything that doesn't line up with your database and add your own.
Likewise, in the ReportGen.aspx.cs file, you will want to modify variables to match those you modified in the RerpotGen.aspx file.
Additionally, any queries can easily be changed to suit the kind of report you are looking for.
I want to avoid going into too much detail here about what you need to change to get it to work, because I find it may be difficult to explain.
I tried to make variables match one to one with the database fields, so for example you want to change how the Site function works.. simply search the document for the word Site and replace it with what you want (the field in your database) and it should work.
If you are familiar with CS it should be fairly self-explainatory.
Any questions may be posted here and I'll try to answer them.
One other thing, since I have a lot of sites and using jquery to auto suggest database values that match what the user is typing tends to cause delay, I simply add these values as they appear in the database to the ReportGen.aspx file.
You can input your own values by replacing "SiteName" with the text you want to use.