You can use a SQL query to populate the recipients of a scheduled report, and the parameters used when making the report itself.

The SQL statement should return one row per report configuration, and columns configured like this:

EmailRoleLocaleParameter1...ParameterN
recipient1@example.orgRole1en-USValue1
ValueN
recipient2@example.orgRole2fr-FRValue1
ValueN
recipient3@example.orgRole3fr-FRValue1
ValueN

Email : The email address for the recipient of the scheduled report. This can be a semicolon-delimited list, which then shares the rest of the parameters, for example recipient1@example.org;recipient2@example.org.

Role: The Analysis Services role to use when preparing the report.

Locale : The culture to use when preparing the report.

Parameters : Any Web Parameters to use to populate the report. 

The columns returned by the SQL statement above can be used as dynamic parameter placeholders. For example, if you return a column named AccountName, you can now use the parameter placeholder %AccountName% when configuring the report to use. Note that SQL columns used as placeholders must be string types, for example, char, varchar, text, or their Unicode equivalents.