When retrieving data from a relational source like SQL Server, always use views to decouple reports from the underlying database table structure. Avoid embedding queries directly within reports. From a maintenance and development perspective, updating a view is more efficient and less error-prone than modifying a report query and republishing the report.
Additionally, if possible, use a dedicated schema for the views to streamline organization and enhance security management.
Originally published November 2018.