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 08/04/2008, 12h07   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 19
Points : 14
Points : 14
Par défaut [Report Studio] Tableaux croisé - Colonne somme cumulée

Bonjour,

Je travail actuellement sous Report Studio de C8. Je souhaite agréger des données (revenus) de janvier de l'année demandée jusqu'au mois désiré de cette même année. Tout cela afin d'obtenir une colonne des revenus cumulés dans mon tableau croisé. Je ne trouve malheureusement pas d'option d'agrégation de ce type !

Quelqu'un sait comment faire ?
Zalexgio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 16h06   #2
Membre actif
 
Inscription : janvier 2007
Messages : 205
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 205
Points : 192
Points : 192
Ca dépend, si tu bosses avec un cube, il y a la fonction MDX periodsToDate qui répond à ton besoin.

Si tu manipules un modèle SQL, faut manipuler les requêtes pour construire ton calcul YTD. En tout cas, ça ne passe pas par une fonction d'aggrégation, ça c'est sûr.
yphilogene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 17h25   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 19
Points : 14
Points : 14
Je suis bien en multi-dimentionnel. On m'a parlé de la fonction running-* dans une liste. Je n'ai trouvé ni doc ni aide dessus. Comment s'en sert-on ?
Zalexgio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 20h57   #4
Membre actif
 
Inscription : janvier 2007
Messages : 205
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 205
Points : 192
Points : 192
Je n'ai jamais eu l'occasion d'utiliser la fonction running.

Si tu es en multidim avec comme source de données un cube, je te conseille vivement d'utiliser les fonctions MDX.

Si tu as une dimension temps qui ressemble à ca:

2005
2005Q1
200501
200502
200503
2005Q2
...

periodsToDate([Year],[200506]) <-- je ne suis plus sûr de la syntaxe

te renvoie un ensemble de mois allant de 200501 à 200506 inclus.

Il te suffit alors de créer un dataitem de calcul de total:

total(mesure within set [data item avec periodsToDate])
yphilogene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 17h19   #5
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 19
Points : 14
Points : 14
Par défaut limiteur requête ??

Je pense avoir une piste fiable. Je crée une colonne "Revenus cumulés" ayant pour formule : " running-total ( [Revenus] )". Le problème est que je n'arrive pas à créer un lumiteur (étant en multidim.) filtrant l'année souhaitée (paramètre : Année). Ceci ne fonctionne pas : [Année - Nom complet]->?Année?
Quelqu'un peut-il m'aider à réaliser un limiteur dans une requête?
Zalexgio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2008, 21h18   #6
Membre actif
 
Inscription : janvier 2007
Messages : 205
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 205
Points : 192
Points : 192
C'est normal que cela ne fonctionne pas, [Année - nom complet] est un attribut. Or la syntaxe est [Niveau année]->?année?

Je ne comprends pas pourquoi tu persistes avec la fonction running-total alors que la fonction periodsToDate réalise exactement ce que tu souhaites.

A quoi ressemble ta dimension Temps?
yphilogene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2008, 18h11   #7
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 19
Points : 14
Points : 14
En fait, pour mon limiteur, le paramètre n'était pas du même niveau hierarchique que l'élément comparé. Bref, tu avais raison et je t'en remercie.

En ce qui concerne la colonne de ma liste, j'essaye avec toute les combinaisons possible mais pas moyen ! il y a toujours une erreur dans la formule :

total([Revenus] within set periodsToDate([vacances_et_aventure].[Année].[Année].[Année],[Avr. 2006]))
Zalexgio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2008, 20h03   #8
Membre actif
 
Inscription : janvier 2007
Messages : 205
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 205
Points : 192
Points : 192
Encore une fois, c'est normal, l'utilisation des expressions de ce type ne peut se faire qu'avec des tableaux croisés.
yphilogene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 17h00   #9
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 19
Points : 14
Points : 14
C'est bizarre qu'on ne puisse pas utiliser la fonction periodsToDate dans des liste !?! Les autres fonctions "poussées" passent très bien !


Je dois mal m'exprimer. Je récapitule.
J'ai besoin d'une liste de produits ayant 3 colonnes : nom du produit - revenu du mois sélectionné (?mois?) - revenu cumulé : la somme du revenu allant de janvier de l'année souhaitée (?Année?) au mois sélectionné (?mois?).
Est-ce plus clair ?
Zalexgio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 18h47   #10
Membre actif
 
Inscription : janvier 2007
Messages : 205
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 205
Points : 192
Points : 192
Mais c'est clair depuis le début.

Tu prends un tableau croisé.

Tu mets les produits en ligne.

Tu met un premier calcul en colonne:

total([Revenue] within set [chosen month])

Tu met un deuxième calcul en colonne:

total([Revenue] within set periodsToDate([Year level], [chosen month])

avec [chosen month]: [Month level]->?chosen_month?
yphilogene 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 14h56.


 
 
 
 
Partenaires

Hébergement Web