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 15/12/2010, 16h27   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 4
Points : 0
Points : 0
Par défaut Valeur par défaut pour une invite

Bonjour,

Voilà j'ai une invite obligatoire avec une liste de période.

Je voudrai que par défaut, ce soir la dernière période dans la liste qui soit sélectionnée.
Avec le 'choix implicite', je ne peux que saisir du texte et pas une fonction de type max.

Savez-vous s'il est possible de définir une valeur d'invite par défaut?

Merci pour votre aide.
liberty- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 00h32   #2
Membre Expert
 
Avatar de Sunchaser
 
Homme Vincent
OPNI
Inscription : décembre 2004
Messages : 1 668
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 41
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : OPNI
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2004
Messages : 1 668
Points : 2 036
Points : 2 036
Bonsoir,

Je ne pense pas que cela soit faisable directement.
En revanche, on peut imaginer une solution via un bout de javascript, tout en gardant a l'esprit que c'est toujours peu conseillé par Cognos (ils n'aiment pas qu'on joue dans leur pages de prompt).
Je me rends compte a l'instant que je suis parti sur l'idée que l'objet utilisé était une liste déroulante, je ne sais pas pourquoi (pas sur que ce soit le cas de ce fait).
En placant un HTML Item avant la liste, avec dedans:
Code :
1
2
 
<div id='my_select'>
et un autre juste après, avec dedans:
Code :
1
2
3
4
5
6
7
 
</div>
<script>
var my_div= document.getElementById("my_select");
var obj_select= my_div.getElementsByTagName("SELECT")[0];
	obj_select.selectedIndex= obj_select.options.length-1;
</script>
Il me semble que l'on obtient le résultat attendu: le dernier Item de la liste est sélectionné et de ce fait le prompt est alimenté avec la valeur correspondante.

@+
__________________
Citation:
Aux persévérants aucune route n'est interdite
Question: un ver a pied, c'est un millepatte unijambiste ?

Mon dernier trip musical

Citation:
Quiconque construit un jardin devient un allié de la lumière, aucun jardin n'étant jamais surgi des ténèbres
A priori un proverbe Perse ...
Sunchaser est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 10h02   #3
Invité de passage
 
Inscription : septembre 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 4
Points : 0
Points : 0
oula, je ne suis pas très forte en html mais je vais essayer quand même
merci bcp pour ton aide en tout cas.
et oui, c'est bien une liste déroulante
liberty- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 13h17   #4
Membre du Club
 
Homme Olivier
Inscription : avril 2008
Messages : 44
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Localisation : France

Informations forums :
Inscription : avril 2008
Messages : 44
Points : 53
Points : 53
Bonjour,

Si je me souviens bien, le javascript est interprêté seulement lorsque c'est un utilisateur qui lance le rapport. Si c'est le scheduler, il risque d'y avoir un soucis.

Lorsque je souhaite programmé des états en me basant sur une date, j'utilise une valeur implicite dans ma liste de sélection qui est ' ' (espace) et dans ma requête je teste si mon prompt ne vaut pas ma valeur implicite alors je filtre avec la valeur du prompt sinon je filtre avec une valeur calculé (max_date, last_period, ...)

Bon courage,
Nallack
Nallack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 13h48   #5
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
Dans le même ordre d'idée que la solution de Nallack, on peut aussi ajouter un autre prompt de type radio button qui dit
o - utiliser les dates ci-contre
o - utiliser la date max

Et ensuite tester le résultat de ce prompt pour filtrer la requête avec le paramètre de date ou avec une sous-requête qui ramène le max.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 14h02   #6
Invité de passage
 
Inscription : septembre 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 4
Points : 0
Points : 0
ok,

merci pour ton aide. mais comment fais tu appel à la valeur implicite dans ta requête?

Citation:
Envoyé par Nallack Voir le message
Bonjour,

Si je me souviens bien, le javascript est interprêté seulement lorsque c'est un utilisateur qui lance le rapport. Si c'est le scheduler, il risque d'y avoir un soucis.

Lorsque je souhaite programmé des états en me basant sur une date, j'utilise une valeur implicite dans ma liste de sélection qui est ' ' (espace) et dans ma requête je teste si mon prompt ne vaut pas ma valeur implicite alors je filtre avec la valeur du prompt sinon je filtre avec une valeur calculé (max_date, last_period, ...)

Bon courage,
Nallack
liberty- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 14h11   #7
Membre du Club
 
Homme Olivier
Inscription : avril 2008
Messages : 44
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Localisation : France

Informations forums :
Inscription : avril 2008
Messages : 44
Points : 53
Points : 53
voici le process que je suis :

1 - dans ma page de prompt, sur une liste déroulante pour le mois avec pour nom de paramètre pMois, je rajoute :
a) choix statique :
utilisation : ' ' (espace)
afficahge : ---- Mois -----
b) choix implicite : ' ' (espace)
c) requis : non.

2 - dans mon filtre de requête je fais (base Oracle) :
Code :
 [ID_MOIS] = decode( ?pMois?; '  '; to_char( add_months({sysdate}; -1); 'MM'); ?pMois?)
En gros, je dis Si mon prompt vaut ' ' alors Mois courant-1 sinon valeur sélectionnée

Lorsque j'ai besoin de l'utiliser dans une requête Sql pure, je fais :
Code :
 id_mois = decode(#prompt('pMois')#, '  ',to_char (add_months (sysdate, -1), 'mm'), #prompt('pMois')#)

Et pour un peu plus de rafinement, dans ma page de prompt, je supprime les 2 premières lignes de ma liste déroulante.

Bon courage,
Nallack
Nallack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 20h25   #8
Membre Expert
 
Avatar de Sunchaser
 
Homme Vincent
OPNI
Inscription : décembre 2004
Messages : 1 668
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 41
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : OPNI
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2004
Messages : 1 668
Points : 2 036
Points : 2 036
Citation:
Envoyé par Nallack Voir le message
Si je me souviens bien, le javascript est interprêté seulement lorsque c'est un utilisateur qui lance le rapport. Si c'est le scheduler, il risque d'y avoir un soucis.
Très certainement, mais il est vrai que le coup du scheduler n'était pas mentionné, donc pas pris en compte. Et je pense que toutes les solutions au niveau Cognos (QueryItem) ou DB (SQL) directement (proposées par Nallack et Nuke_y, je précise mon propos car apparemment je ne suis pas assez clair)- certes, les meilleures - ne permettent pas de modifier " l'aspect " des objets dans la page de prompt et donc d'indiquer a l'utilisateur qui fait tourner le rapport directement qu'il y a une valeur par défaut, et que c'est la valeur "x".
(qui, dans le cas de liberty-, sera dynamique).
C'est un point tout a fait mineur j'en conviens, mais on m'a déjà casser les pieds pour bien plus petit que ca.

Une solution mixe serait donc a envisager (?).

@+
__________________
Citation:
Aux persévérants aucune route n'est interdite
Question: un ver a pied, c'est un millepatte unijambiste ?

Mon dernier trip musical

Citation:
Quiconque construit un jardin devient un allié de la lumière, aucun jardin n'étant jamais surgi des ténèbres
A priori un proverbe Perse ...
Sunchaser est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2010, 16h21   #9
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
Euh la solution de Nallack et la mienne sont normalement compatibles avec le Scheduler.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2010, 17h04   #10
Membre Expert
 
Avatar de Sunchaser
 
Homme Vincent
OPNI
Inscription : décembre 2004
Messages : 1 668
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 41
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : OPNI
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : décembre 2004
Messages : 1 668
Points : 2 036
Points : 2 036
Citation:
Envoyé par nuke_y Voir le message
Euh la solution de Nallack et la mienne sont normalement compatibles avec le Scheduler.
J'ai dit le contraire ?
__________________
Citation:
Aux persévérants aucune route n'est interdite
Question: un ver a pied, c'est un millepatte unijambiste ?

Mon dernier trip musical

Citation:
Quiconque construit un jardin devient un allié de la lumière, aucun jardin n'étant jamais surgi des ténèbres
A priori un proverbe Perse ...
Sunchaser est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2012, 02h03   #11
Membre régulier
 
Inscription : août 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 169
Points : 82
Points : 82
Citation:
Envoyé par Nallack Voir le message
voici le process que je suis :

1 - dans ma page de prompt, sur une liste déroulante pour le mois avec pour nom de paramètre pMois, je rajoute :
a) choix statique :
utilisation : ' ' (espace)
afficahge : ---- Mois -----
b) choix implicite : ' ' (espace)
c) requis : non.

2 - dans mon filtre de requête je fais (base Oracle) :
[ID_MOIS] = decode( ?pMois?; ' '; to_char( add_months({sysdate}; -1); 'MM'); ?pMois?)
En gros, je dis Si mon prompt vaut ' ' alors Mois courant-1 sinon valeur sélectionnée

Lorsque j'ai besoin de l'utiliser dans une requête Sql pure, je fais :
id_mois = decode(#prompt('pMois')#, ' ',to_char (add_months (sysdate, -1), 'mm'), #prompt('pMois')#)


Et pour un peu plus de rafinement, dans ma page de prompt, je supprime les 2 premières lignes de ma liste déroulante.

Bon courage,
Nallack
Bonjour,

je sais que ma question arrive un peu tard et qu'elle peut paraître ridicule mais à quoi correspond [ID_MOIS] ?
Je m'explique un peu plus : je veux afficher une pyramide des âges selon une année choisie dans une liste déroulante. En exécutant le rapport j'aimerais qu'il y ait une valeur par défaut. J'ai bien suivi le point 1, j'ai essayé de mettre en expression de filtre détaillée
Code :
[MonPackage].[Temps].[Temps].[Année] = decode( ?pAnnee?; '  '; to_char( add_years({sysdate}; -1); 'YYYY'); ?pAnnee?)
(voir pièce jointe pour la "structure" de la dimension)

J'ai le message d'erreur :
QE-DEF-0459 CCLException
QE-DEF-0478 La conversion de level à string pour [MonPackage].[Temps].[Temps].[Année] dans [MonPackage].[Temps].[Temps].[Année] = decode( ?pAnnee?; ' '; to_char( add_years({sysdate}; -1); 'YYYY'); ?pAnnee?) n'est pas valide.


ça m'aiderait bien que quelqu'un me donne une piste parce que ça fait 2 jours que je rame rien que pour ce truc qui est finalement assez simple...
Images attachées
Type de fichier : jpg Dim_tps.jpg (23,4 Ko, 8 affichages)
__________________
Cordialement.
ninikkhuet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h49.


 
 
 
 
Partenaires

Hébergement Web