Pour répondre à ma propre question, nous avons finalement décidé de mettre en place une copie locale en lecture seule de la base de données Salesforce dans MS SQL Server, et de développer rapports basés sur cela. Cela a permis aux personnes chargées d'écrire des rapports d'utiliser tous les outils SQL familiers qu'elles connaissent, sans les restrictions sur ce qui peut être joint à ce que la base de données native Salesforce possède. Pour ce faire, nous utilisons un logiciel appelé DBAmp - Il fait apparaître Salesforce dans SQL Server en tant que 'serveur lié' et fournit des procédures stockées que vous pouvez utiliser pour télécharger des tables Salesforce entières, ou simplement télécharger des modifications à une table Salesforce depuis la dernière fois. Cela rend très facile la configuration d'une copie locale des données mises à jour chaque nuit.
Si vous êtes assez riche pour utiliser Crystal, vous devriez payer une prime monétaire :) –