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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

oracle_plain.Margin as Margin<br />

From<br />

(GOSALES1_OR_92_WE...SELECT<br />

P.PRODUCTNAME, P.MARGIN<br />

FROM<br />

PRODUCT P}<br />

)oracle_plain<br />

Par conséquent, vous devez vous assurer que le sujet de requête est conforme<br />

aux restrictions de base de données supplémentaires imposées aux<br />

sous-requêtes, par exemple, ne pas utiliser la clause With. SQL direct n'est pas<br />

associé aux mêmes restrictions. Cependant, le fait que le code SQL natif soit<br />

traité dans le cadre d'une requête plus grande améliore les performances.<br />

Pour tester un code SQL natif à l'aide d'un outil de requête, tel que SQL*Plus<br />

d'Oracle, vous devez placer le code SQL dans la clause From d'une instruction<br />

Select. Par exemple, vous pouvez utiliser la syntaxe suivante dans un outil de<br />

requête :<br />

Select * from () T1<br />

v Affectez des alias aux colonnes dérivées.<br />

Affectez des alias aux colonnes dont les valeurs sont calculées. Voici un exemple<br />

:<br />

SELECT<br />

Length(Country) as LGTH<br />

FROM Country<br />

v Placez les noms d'alias entre guillemets.<br />

La modification du type SQL d'un sujet de requête peut modifier la casse des<br />

noms d'alias. Lorsque cela se produit, un sujet de requête qui fait référence à<br />

l'élément de requête modifié n'est plus valide. Pour éviter que la casse soit<br />

modifiée, placez l'alias entre guillemet, par exemple<br />

Select<br />

COUNTRY as "test" from COUNTRY<br />

v Si un sujet de requête de source de données contient une macro dans la liste de<br />

projection (clause Select) de l'instruction SQL, spécifiez dans le code SQL un<br />

alias qui correspond à la propriété Nom de colonne de l'élément de requête.<br />

Une erreur peut se produire car la macro est évaluée à un nom de colonne<br />

différent de la valeur la propriété Nom de colonne de l'élément de requête<br />

correspondante. Le résultat est que le système ne peut pas localiser l'élément<br />

dans la liste de projection. Les listes de projection sont statiques.<br />

L'affectation d'un alias garantit que le nom de l'élément reste constant dans la<br />

liste de projection lorsque les résultats de l'évaluation de la macro changent.<br />

Par exemple, la requête suivante contient un paramètre de session, runLocale,<br />

dont la valeur indique la colonne extraite par la requête :<br />

Select<br />

#$ColumnMap{$runLocale}# as<br />

CountryNameAlias<br />

From<br />

[GoSales].Country<br />

Notez que le signe dièse (#) est réservé aux macros. <strong>Framework</strong> <strong>Manager</strong><br />

supprime tous les éléments figurant en dehors des signes dièse lors de<br />

l'exécution de la macro.<br />

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

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

Saved successfully!

Ooh no, something went wrong!