Considérations sur les bases de données SQL. Business Objects Crystal Reports 2008 SP1
Bases de données
25
Mises en relation des tables
Sous-rapports et fichiers de données
Si votre rapport principal est basé sur la table A et que votre sous-rapport est basé sur la table B et que les enregistrements sont reliés, tenez compte d'abord des facteurs suivants :
• Le nombre de sous-rapports générés dépend de l'index et de la formule de sélection utilisés pour le rapport principal :
• En présence d'une Table A indexée et si le rapport principal est doté d'une formule de sélection transmettant des conditions de limites de plage pour le champ indexé, le logiciel exécute deux sous-rapports.
• En présence d'une Table A indexée ou si elle est indexée mais que la formule de sélection ne transmet pas les conditions de limites de plage pour le champ indexé, le logiciel exécute 26 sous-rapports.
• Le nombre d'enregistrements lus pour chaque sous-rapport dépend de l'indexation de la Table B :
• Si la Table B contient un index, le logiciel lit uniquement les enregistrements correspondants (100) lorsqu'il exécute un sous-rapport.
• Si la Table B ne contient aucun index, le programme lit toujours chaque enregistrement dans la Table B (2 600) lorsqu'il exécute un sous-rapport.
Considérations sur les bases de données SQL
Les index ne jouant pas un rôle essentiel dans les bases de données SQL, votre principal souci, en ce qui concerne les tables reliées et les sous-rapports, sera de vérifier l'existence, dans le rapport principal, d'une formule de sélection imposant des limites de plage qui soit applicable à la table A. Voir
Mises en relation des fichiers de données
page 722.
Tables SQL reliées
Lorsque la formule de sélection contient des conditions de limite de plage, le logiciel la transmet au serveur.
724 Guide de l'utilisateur de Crystal Reports 2008 SP1
Bases de données
Mises en relation des tables
25
• Si une formule de sélection définit des limites de plage dans la Table A, le serveur recherche les enregistrements de la Table A répondant aux critères de sélection (2), les associe aux enregistrements correspondants dans la Table B (100), puis renvoie les 200 enregistrements fusionnés au moteur de rapports.
• Si aucune formule de sélection n'est spécifiée ou si une formule de sélection ne définit aucune limite de plage dans la Table A, le serveur associe chaque enregistrement dans la Table A (26) aux enregistrements correspondants dans la Table B (100), puis renvoie les 2 600 enregistrements fusionnés au moteur de rapports.
Dans les deux cas, le moteur de rapport applique ensuite l'intégralité de la formule de sélection aux enregistrements fusionnés.
Sous-rapports et bases de données SQL
Si vous créez un rapport principal depuis la table A et un sous-rapport depuis la table B :
• Le nombre de sous-rapports exécutés dépend de la présence d'une formule de sélection dans le rapport principal :
• Si une formule de sélection est spécifiée et transmet les limites de plage dans la Table A, le logiciel exécute uniquement les enregistrements répondant aux condition de limites de plage (2).
• Si aucune formule de sélection n'est spécifiée ou si la formule de sélection ne transmet pas les limites de plage dans la Table A, le logiciel exécute un sous-rapport pour chaque enregistrement dans la
Table A (26).
• Le nombre d'enregistrements lus par chaque sous-rapport reste identique, qu'une sélection de limites de plage ait été appliquée ou non à la Table
A. Chaque sous-rapport lit uniquement les enregistrements dans la Table
B qui correspondent à chaque enregistrement dans la Table A (100).
Guide de l'utilisateur de Crystal Reports 2008 SP1 725

Enlace público actualizado
El enlace público a tu chat ha sido actualizado.