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 11/08/2011, 11h11   #1
Invité régulier
 
ben kab
Inscription : octobre 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : ben kab

Informations forums :
Inscription : octobre 2010
Messages : 54
Points : 9
Points : 9
Par défaut Utilisation de la fonction rank

Bonjour,

J'ai une liste avec plusieurs pays, et je veux faire apparetre les produit dans l'ordre par rapport au chiffre d'affaire réalisé et cela pour chaque pays. C'est à dire le produit p peut ne pas avoir le même ordre dans le pays_1 que dans le pays_2. j'ai fais un rank(CA) par contre ça ne fonctionne toujours pas. Il m'affiche bien le premier pays mais le reste non, il garde le même nom de produit avec leur rang qui n'a pas été ordonné.

merci de votre aide
demido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 17h06   #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
Bonjour,

Il aurait peut être été utile de poster aussi le code utilisé.
Néanmoins, on peut dire que la clause "FOR" du rank() dans Cognos corresponds a "PARTITION BY" pour le SQL, et qu'il te faut spécifier le type d'order by nécessaire (asc ou desc, mais regarde dans les hints correspondant a cette fonction dans Cognos).
Il me semble a vue de nez que tu dois "obligatoirement" avoir qqchose du genre:
Code :
1
2
 
RANK( [CA] FOR [MES_PAYS] )
comme base a travailler en fonction des autres champs / cas, et que ta liste doit donc être ordonnée sur [PAYS] puis [RANK].

Sinon, poster le code déjà utilisé...

@+
__________________
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/08/2011, 12h20   #3
Invité régulier
 
ben kab
Inscription : octobre 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : ben kab

Informations forums :
Inscription : octobre 2010
Messages : 54
Points : 9
Points : 9
Par défaut Utilisatiopn de la fonction rank

Bonjour,

Merci Sunchaser pour ta réponse.

Ce que j'ai utilisé dans la fonction c'est qu'un simple rank([CA]) sachant que j'avais déja trié les CA dans un ordre décroissant.

Au fait j'ai crée une requête pour chaque pays, j'ai fais des jointures entre les requêtes sur le rank.
demido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 10h13   #4
Membre du Club
 
Inscription : mars 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 105
Points : 51
Points : 51
Citation:
Envoyé par demido Voir le message
J'ai une liste avec plusieurs pays, et je veux faire apparetre les produit dans l'ordre par rapport au chiffre d'affaire réalisé et cela pour chaque pays.
Je vois pas trop d’intérêt d'utiliser la fonction rank(). 2 Crosstab Node Member (pays, produit) dans la page de présentation ne suffisent pas?
hittony est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 11h12   #5
Invité régulier
 
ben kab
Inscription : octobre 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : ben kab

Informations forums :
Inscription : octobre 2010
Messages : 54
Points : 9
Points : 9
Par défaut Utilisatiopn de la fonction rank

Bonjour,

Pour répondre à hittony, je ne connais pas Crosstab Node Member.

Je re-explique mon problème. J'ai une seule liste mais avec un bloque de quatre pays (nb de pyas fixe 4) les mêmes indicateurs pour chauqe pays, et les pays sont en paramètre.

donc pays n'est pas une colonne du rapport, et je doit classer dans l'ordre du CA les produits dans chaque pays.

En faisant la jointure sur le rank, il classe les produit par rapport au premier pays, par contre pour les autres pays il prend par rapport au nom des produit du pays 1 et lui donne son rank qui n'est pas trié du coup.
demido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 15h46   #6
Membre du Club
 
Inscription : mars 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 105
Points : 51
Points : 51
Voici l'explication de Crosstab Node Member de IBM

Crosstab Nodes and Crosstab Node Members

Ce que je vois jusque là, c'est un tableau croisé qui se compose en colonnes par les 4 pays avec tous les indicateurs dans un niveau inférieur et en lignes par tous les produits.

Pour le tri, j'ajouterais une donnée élémentaire dans la requête des résultats qui reprend le CA du paramètre pays. Je ferais ensuite le tri sur les lignes en appliquant cette donnée élémentaire.

C'est juste une solution parmi d'autres, je la considère la plus simple avec une seule requête des résultats. Ça n'exclut pas la piste avec la fonction rank().

Bon courage
hittony est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 20h44   #7
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 demido Voir le message
En faisant la jointure sur le rank

?
Je ne suis pas sur de comprendre ....
Quelle jointure ? Je pensais que tu avais un requête qui sortait qqchose du genre <pays>, <produits>, <ca>, et que tu voulais donc un rank() de chaque <produit> par <ca> et <pays>.

Mais, d'ailleurs, si tu as une seule liste, tu pourrais très bien te passer du rank() ou quoi que ce soit: tu insères dedans l'élèment <pays> en tant que colonne cachée, sur laquelle tu fais un grouping et un sorting, puis le sorting sur le <ca>, et a mon sens le tour est joué.

Mais je crois que je ne vois pas bien la situation, dsl...
__________________
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/08/2011, 10h59   #8
Invité régulier
 
ben kab
Inscription : octobre 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : ben kab

Informations forums :
Inscription : octobre 2010
Messages : 54
Points : 9
Points : 9
Par défaut Utilisation de la fonction rank

Bonjour,

En pièce jointe a peut pret la structure de ma liste, les pays sont rentés en parametre. En fonction de cela j'ai besoin qu'il me renvoit le rang du produit par rapport au pays, et c'est pour cela que j'ai fais une jointure sur le rang pour qu'il m'affiche les produits du même rang.

merci de votre aide

Cordialement
Fichiers attachés
Type de fichier : xls Liste.xls (9,7 Ko, 6 affichages)
demido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 16h39   #9
Membre du Club
 
Inscription : mars 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 105
Points : 51
Points : 51
En fait, ce que tu veux c'est 3 listes différentes avec 3 requêtes, mais tu force de les regrouper en faisant 2 jointures sur le rank. N'est-ce pas?

La requête finale de résultats devrait contenir le rank en commun, 3 dimensions de produit différentes (par pays), 3 dimensions de CA, etc...

La tienne a-t-elle 3 dimensions de produit différentes?
hittony est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 19h21   #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
Dommage, je ne peut pas ouvrir la pièce jointe ...
__________________
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 19/08/2011, 14h55   #11
Invité régulier
 
ben kab
Inscription : octobre 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : ben kab

Informations forums :
Inscription : octobre 2010
Messages : 54
Points : 9
Points : 9
Par défaut Utilisation de la fonction rank

Au fait je travail sur un rapport qui existe déja, et il faut que je fasse des modifications.
Et nitament rajouter dans chaque bloc pays les champs nom_produit et le rank. Et comme le rapport initial était sur une seule liste j'ai pas voulu modifier la structure, en plus j'ai déja essayé avec plusieurs listes(une par pays) j'ai eu des pb d'alignement et de lise en forme.

Sunchaser, j'ai mis une nouvelle fois la pièce jointe.

Merci tous le monde
Fichiers attachés
Type de fichier : xls Liste.xls (9,7 Ko, 6 affichages)
demido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 10h04   #12
Invité régulier
 
ben kab
Inscription : octobre 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : ben kab

Informations forums :
Inscription : octobre 2010
Messages : 54
Points : 9
Points : 9
Par défaut Utilisation de la fonction rank

Bonjour,

je n'ai toujours pas résolu mon problème, si quelqu'un pourra m'aider svp

si non je re-explique mon pb.

Merci pour votre aide

Cordialement
demido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 10h42   #13
Membre du Club
 
Inscription : mars 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 105
Points : 51
Points : 51
Re,

Peux-tu nous dire quelles sont les données élémentaires dans ta requête finale?
hittony est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 11h28   #14
Invité régulier
 
ben kab
Inscription : octobre 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : ben kab

Informations forums :
Inscription : octobre 2010
Messages : 54
Points : 9
Points : 9
Par défaut Utilisation de la fonction rank

Bonjour,

Les données elementaire que j'utilise sont : le rank, le CA et d'autre indicateurs qui sont des mesures calculées, mais le rank porte sur le CA

Cordialement
demido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 11h58   #15
Membre du Club
 
Inscription : mars 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 105
Points : 51
Points : 51
Citation:
Envoyé par demido Voir le message
le rank, le CA et d'autre indicateurs qui sont des mesures calculées
Pas un seul donnée de produit?
hittony 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 10h53.


 
 
 
 
Partenaires

Hébergement Web