28.06.2013 Views

IBM Cognos Framework Manager Version 10.2.0 - Guide d'utilisation

IBM Cognos Framework Manager Version 10.2.0 - Guide d'utilisation

IBM Cognos Framework Manager Version 10.2.0 - Guide d'utilisation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Utilisez la clause With pour améliorer les performances de la requête si cette<br />

dernière est limitée aux fonctionnalités prises en charge par le logiciel de la source<br />

de données sous-jacente. Lorsqu'une requête utilise une fonctionnalité qui n'est pas<br />

prise en charge par la source de données, l'utilisation de la clause With peut<br />

provoquer une décomposition supplémentaires de la requête, ce qui peut entraîner<br />

une dégradation des performances. Dans ce cas, ne pas utiliser la clause With peut<br />

générer un ensemble de requêtes mieux adapté pour la source de données<br />

sous-jacente.<br />

Voici un exemple de code SQL <strong>Cognos</strong> utilisant des tables dérivées :<br />

SELECT * FROM<br />

(SELECT SNO C1, AVG(QTY) C2, COUNT(*) C3 FROM<br />

SUPPLY<br />

GROUP BY SNO) T1,<br />

(SELECT MAX(QTY) C1 FROM SUPPLY) T2<br />

Le code suivant montre comment SQL <strong>Cognos</strong> transforme l'exemple en clause<br />

With :<br />

WITH T1 AS (SELECT SNO C1, AVG(QTY) C2, COUNT(*)<br />

C3 FROM<br />

SUPPLY GROUP BY SNO),<br />

T2 AS (SELECT MAX(QTY) C1 FROM SUPPLY)<br />

SELECT *FROM T1, T2<br />

N'utilisez pas la clause With pour un traitement récursif.<br />

Pour plus d'informations sur la clause With, voir «Restrictions», à la page 315.<br />

La vérification du type de données et le validation SQL sont constamment<br />

améliorées. De ce fait et parce que tous les fournisseurs n'assurent pas une totale<br />

conformité avec la norme SQL, les expressions SQL non valides ou ambiguës qui<br />

étaient précédemment transmises à la source de données ne le seront plus. Si une<br />

expression renvoie un type de données non spécifié par la norme SQL, transmettez<br />

l'expression à la source de données en utilisant la syntaxe {expr}. Vos utilisateurs<br />

doivent utiliser la même technique.<br />

Code SQL natif<br />

SQL natif correspond au code SQL utilisé par la source de données, par exemple<br />

Oracle SQL. Utilisez le code SQL natif pour transmettre l'instruction SQL que vous<br />

entrez dans la base de données. <strong>IBM</strong> <strong>Cognos</strong> BI peut ajouter des instructions aux<br />

données que vous entrez. Vous ne pouvez pas utiliser le code SQL natif dans un<br />

sujet de requête qui fait référence à plus d'une source de données dans le projet.<br />

Le code SQL spécifié dans <strong>IBM</strong> <strong>Cognos</strong> <strong>Framework</strong> <strong>Manager</strong> et traité par la base<br />

de données, qu'il soit de type natif ou passe-système, doit être complètement<br />

autonome. Il ne doit faire référence à aucun élément extérieur, tel que des invites<br />

de base de données, des variables, ou un format natif qui en règle générale doivent<br />

être fournis par l'application appelante.<br />

Si vous maîtrisez une version SQL native, vous pouvez l'utiliser pour les sujets de<br />

requête qui sont basés sur une source de données unique. En procédant ainsi, vous<br />

pouvez utiliser des mots clés qui ne sont pas disponibles dans <strong>Cognos</strong> SQL et vous<br />

pouvez copier et coller du code SQL à partir d'une autre application dans<br />

<strong>Framework</strong> <strong>Manager</strong>.<br />

Chapitre 5. Modélisation des métadonnées relationnelles 107

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!