I am not sure this is want you are looking for but I have been planning to move away from reporting from the DB as it's consistently under change. For example in the most recent version of Core 2015.1 the sacred Nodes table is deprecated and split out into several new tables while the performance data tables for detail, hourly, daily, monthly is now broken up by date/time. This would require all new logic in your reporting engine, possibly up to rewriting all your reports.
Instead I have been slowly switching over to the SDK and using SWIS/SWQL to pull out the data I want - even if it's to put into temp tables for reporting. As the SDK doc states a huge value is:
Insulation from Database Schema Changes
SWIS ultimately satisfies most queries by fetching data from the database, but the mapping between SWIS entities and the underlying database tables allows SolarWinds to evolve the database schema while providing a consistent, backward-compatible object model to SWIS clients.
You also will have much fewer joins as SWIS incorporates both navigation (precreated joins you don't need to do) and also view like representation of data. While some higher level SQL functions are not available you'll find much simpler queries for an equal dataset from t-SQL. And you can always do the non-supported functions in your temp tables or reporting queries.
Best of all- you do get the schema documentation -
C:\Program Files (x86)\SolarWinds\Orion SDK\Schema\3.0\index.html