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 13/09/2011, 11h10   #1
Invité de passage
 
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2011
Messages : 4
Points : 1
Points : 1
Par défaut [COGNOS][8][Report Studio] - Filtre et Condition

Bonjour,

Ayant fait de la programmation SAS auparavant, je découvre Cognos et j’utilise la version 8.4 de ReportStudio.
Je suis entrain de construire un rapport qui s’exécute au début de chaque mois basé sur les informations du mois précédant. Il me faut donc filtrer les données. Je précise notamment que je travaille en relationnel.

Avec ce filtre, tout fonctionne très très bien et j’obtiens les bons résultats:
Code :
[Année]=YEAR(current_date) AND [Mois]=extract(month; _add_months(current_date; -1))
Mais, j’essaie de poser une nouvelle condition car si on passe de 2011 à 2012 par exemple, je n’aurais plus les bonnes informations lors du changement d'année. Je veux avoir quelque chose qui dit par exemple:
« Si on n’est pas en janvier, je garde ma formule, sinon année=(année en cours-1) et mois=12 »

Quelqu’un pourrait-il m’aider à adapter ce code par exemple SVP (IF, CASE WHEN, peu importe)?
Code :
1
2
3
 
IF (month(current_date) <> 1) THEN ([Année]=YEAR(current_date) AND [Mois]=extract(month; _add_months(current_date; -1)))
ELSE ([Année]=extract(year; _add_years(current_date; -1)) AND [Mois]=12)
Je répète, je suis vraiment nouveau sur Cognos…

Merci d'avance
somebody01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 08h28   #2
Nouveau Membre du Club
 
Inscription : octobre 2010
Messages : 19
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 19
Points : 25
Points : 25
Bonjour,
Je pense qu'une solution plus facile est envisageable.

Code :
[Date] >= _first_of_month(_add_months(current_date;-1))
Si votre date est décomposée en mois et année il vous suffit alors de la recomposer avec la fponction suivante:

Code :
_make_timestamp([year];[month];1)>= _first_of_month(_add_months(current_date;-1))
Si je ne me suis pas trompé, je pense que cela peut vous aider et cela permet également de prendre une plus grande période (ex: les 3 derniers mois) sans se soucier de l'année.

Bien à vous.
zeus003 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/09/2011, 10h17   #3
Invité de passage
 
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2011
Messages : 4
Points : 1
Points : 1
Merci "ZEUS" :-)

En fait, en bidouillant hier soir, je suis parvenu à la même solution que toi

Code :
_first_of_month ([VUE UTILISATEUR].[Indicateur Mouvement Comptable Détail].[Date Mouvement]) = _first_of_month ((_add_months(current_date; -1)))
Avec ce code, ça fonctionne parfaitement, sauf que le rapport en devient beaucoup plus lent.

Merci encore pour ton aide
somebody01 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 00h14.


 
 
 
 
Partenaires

Hébergement Web