• If the datasets are populated by basic queries, it would be easiest to re-write the queries into one uniform set of results, probably through the use of UNION to "stack" one result set with another. However, if the datasets are populated by stored procedures and the data cannot be pulled together prior to being added as a dataset, then your best bet would probably be to create subreports within a List tablix and set the subreports to be filtered to the corresponding learner ID in the List.

    Without a subreport I know of no way to incorporate data from a "foreign" dataset except by use of the "Lookup," "LookupSet," or "MultiLookup" functions; however, these functions will not return data in a way that could be transformed into full-blown matrix report objects.