Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Cognos
Cognos Forum d'entraide Cognos : Impromptu, Powerplay, transformer,...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2008, 13h17   #1
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 79
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : septembre 2007
Messages : 79
Points : 36
Points : 36
Par défaut [CRN 1.1MR3 - Advanced Report] : Blocs conditionnels et SQL natif

Bonjour à tous !!

J'ai deux grosses questions sur cette version particulière de COGNOS proposée par INFOR (anciennement DataStream) en "option" avec leur progiciel de gestion de la maintenance.

1 - Est-ce que les blocs conditionnels fonctionnent et dans quelle condition (manipulation particulière, contournement, ...) ?
Pour résumer, on veut afficher le résultat d'une requête dans un cas et dans l'autre afficher des lignes vides pour permettre une saisie manuelle après impression du rapport (oui je sais c'est tordu.....). Ma variable compte le nombre de ligne retournée par la requête et si =0 alors on affiche les lignes vierges, sinon on affiche le résultat de la requête.
A l'heure actuelle, je récupère seulement le bloc vide, même si ma requête renvoie des lignes.
J'ai même fait un test plus simple : une requête avec 2 colonnes, dont l'une d'elle est un code X de type varchar2, variable VAR = X et je veux : afficher la requête si code = X, cacher le bloc si code <> X => Résultat, j'ai toujours du vide !

2 - Le Framework est propriétaire et je ne peux pas y toucher du tout. J'ai besoin d'utiliser une procédure stockée pour alimenter une table à la volée et récupérer des informations dans cette table. Est-il possible de coder ça dans ReportStudio via du SQL Natif (j'ai la procédure stockée et tout et tout car j'ai déjà utilisé le système sur un autre projet où je pouvais toucher au Framework) ?
Je pense que ce n'est pas possible, mais peut-être certains d'entre vous ont-ils réussi !!!


Merci par avance pour vos réponses.
@+
Darcynette
Darcynette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 11h07   #2
Membre habitué
 
Inscription : août 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 132
Points : 142
Points : 142
Citation:
Envoyé par Darcynette Voir le message
Bonjour à tous !!

J'ai deux grosses questions sur cette version particulière de COGNOS proposée par INFOR (anciennement DataStream) en "option" avec leur progiciel de gestion de la maintenance.

1 - Est-ce que les blocs conditionnels fonctionnent et dans quelle condition (manipulation particulière, contournement, ...) ?
Pour résumer, on veut afficher le résultat d'une requête dans un cas et dans l'autre afficher des lignes vides pour permettre une saisie manuelle après impression du rapport (oui je sais c'est tordu.....). Ma variable compte le nombre de ligne retournée par la requête et si =0 alors on affiche les lignes vierges, sinon on affiche le résultat de la requête.
A l'heure actuelle, je récupère seulement le bloc vide, même si ma requête renvoie des lignes.
J'ai même fait un test plus simple : une requête avec 2 colonnes, dont l'une d'elle est un code X de type varchar2, variable VAR = X et je veux : afficher la requête si code = X, cacher le bloc si code <> X => Résultat, j'ai toujours du vide !

2 - Le Framework est propriétaire et je ne peux pas y toucher du tout. J'ai besoin d'utiliser une procédure stockée pour alimenter une table à la volée et récupérer des informations dans cette table. Est-il possible de coder ça dans ReportStudio via du SQL Natif (j'ai la procédure stockée et tout et tout car j'ai déjà utilisé le système sur un autre projet où je pouvais toucher au Framework) ?
Je pense que ce n'est pas possible, mais peut-être certains d'entre vous ont-ils réussi !!!


Merci par avance pour vos réponses.
@+
Darcynette
Pour moi, tout cela est possible.

Pour la 1., tu peux passer par des requêtes Master-Details. Dans la 1ère requête, utiliser un calcul qui compte le nombre de lignes retournées dans la seconde, et utiliser ce calcul dans la variable.

Pour la 2., toute requête SQL de SELECT que tu peux passer dans SQL*Plus et qui te retourne des données peut être utilisée dans Report Studio. Par contre, pour éviter des problèmes, il faudra s'assurer que les noms des colonnes ont des alias.
xoninkara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 11h41   #3
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 79
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : septembre 2007
Messages : 79
Points : 36
Points : 36
Bonjour,

Merci pour la réponse.
Par contre pour
1/ On a essayé toute les solutions possibles préconisées par COGNOS et rien ne fonctionne. De plus, je trouve étrange d'être obligé de passer par des requêtes Master. J'ai mis en place très souvent des styles conditionnels et c'est la première fois que la technique que j'ai apprise ne fonctionne pas.
Est-ce que cela peut provenir d'un problème d'installation sur le serveur COGNOS ?

2/ Je ne comprends pas la réponse : je souhaite appeler une procédure stockée qui m'alimente une table à la volée et récupérer les informations de cette table via un curseur. Je ne pense pas que l'on puisse faire cela avec un SELECT simple, si ?? (Je ne suis pas une pro ORACLE non plus, loin de là )

En tout cas merci pour votre aide.

@+
Darcynette
Darcynette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 15h03   #4
Membre habitué
 
Inscription : août 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 132
Points : 142
Points : 142
Citation:
Envoyé par Darcynette Voir le message
Bonjour,

Merci pour la réponse.
Par contre pour
1/ On a essayé toute les solutions possibles préconisées par COGNOS et rien ne fonctionne. De plus, je trouve étrange d'être obligé de passer par des requêtes Master. J'ai mis en place très souvent des styles conditionnels et c'est la première fois que la technique que j'ai apprise ne fonctionne pas.
Est-ce que cela peut provenir d'un problème d'installation sur le serveur COGNOS ?

2/ Je ne comprends pas la réponse : je souhaite appeler une procédure stockée qui m'alimente une table à la volée et récupérer les informations de cette table via un curseur. Je ne pense pas que l'on puisse faire cela avec un SELECT simple, si ?? (Je ne suis pas une pro ORACLE non plus, loin de là )

En tout cas merci pour votre aide.

@+
Darcynette
1/ Si tu as accès à la KB de Cognos, fais y une recherche. Il y a un bon exemple. Je crois que les mots clefs suivants: "How do you hide an empty List or Crosstab on a report" peuvent te permettre de retrouver cet exemple.
En fait, on ne peut pas, dans une même requête, faire un calcul qui détermine si la requête retourne 0 ou plusieurs lignes, et utiliser ce calcul dans une variable, évaluer cette variable et choisir d'afficher le résultat de la requête en fonction de la variable. D'où l'idée de passer par une seconde requête.

2/ Ma réponse était pour dire que dans Report Studio, on ne doit passer que des requêtes SQL de type SELECT pour éviter d'avoir des problèmes.

On peut utiliser Report Studio pour passer des paramètres , via des prompts par exemple, à une procédure stoquée, mais, il faut que la procédure ait d'abord été importée dans le modèle de Framework Manager. C'est la méthode légale .

Mais, dans Report Studio, on peut bien insérer dans un Tabular SQL d'autre forme de requête SQL, même si ce n'est pas du SELECT (Attention: c'est strictement déconseillé). Il suffit de mettre la requête SQL entre { et } . Cela indique au moteur Cognos de faire du Pass-Through, c'est à dire que la requête SQL doit être envoyée directement telle quelle à la base de données, sans être retouchée par Cognos.

Ainsi, si on a sa requête SQL qui invoque sa procédure stoquée par un : "CALL ......" par exemple, on pourra bien mettre ça entre { et } et pour lui passer des paramètres, on utilise les macros #prompt()# ou #promptmany()#. Cela évitera de passer par Framework Manager.
xoninkara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2008, 11h57   #5
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 79
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : septembre 2007
Messages : 79
Points : 36
Points : 36
Bonjour,

Merci pour toutes ces infos.

1/ Pour l'utilisation d'une secodne requête, on a essayé, en suivant la KB COGNOS et ça ne fonctionne toujours pas... A croire qu'il y a un problème quelque part sur le serveur car j'ai fouillé dnas les rapports fourni directement par INFOR l'éditeur du progiciel et pour leur rapport non plus, rien ne se passe... La balle est dans leur camp avec nos rapports, si j'ai des infos, je ne manquerai pas de tenir informé tout le monde.

2/ Je ne connaissais pas cet appel particulier dans le SQL natif avec {}, je vais essayer de suite !! Mais je suis d'accord avec toi, c'est très moche, que ce soit en terme de développement et de maintenance Je préfère la méthode "légale" qui en plus est super efficace !!

Encore merci pour toutes ces infos, je vous tiens au courant de mes péripéties !!

@+
Darcynette
Darcynette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2008, 15h34   #6
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 79
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : septembre 2007
Messages : 79
Points : 36
Points : 36
Par défaut Epilogue

Bonjour à tous !

Merci pour l'aide apportée.
Finalement, les points restent en suspend car il semble qu'il y ait un gros problème d'installation des produits COGNOS chez le client.
Il se retournera vers la société qui lui a fourni....

Pour l'utilisation de la procédure stockée, je n'ai pas réussi à l'appeler directement dans ReportStudio car j'avais besoin de deux paramètres d'entrées et d'un curseur en sortie et je n'ai pas résolu les messages d'erreur que j'avais. Tant pis, si besoin, je réouvrirai un post pour plus d'explications (mais je crois surtout que je vais m'en tenir à la procédure normale qui est de passer par FrameworK !!).

Je mets le post à "Résolu", même si ce n'est pas vraiment le cas mais il ne faut pas polluer le forum

@+
Darcynette
Darcynette est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h14.


 
 
 
 
Partenaires

Hébergement Web