|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() ben kab Inscription : octobre 2010 Messages : 54 ![]() |
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 |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Vincent OPNI Inscription : décembre 2004 Messages : 1 668 ![]() |
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: 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:
Mon dernier trip musical Citation:
|
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() ben kab Inscription : octobre 2010 Messages : 54 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : mars 2010 Messages : 105 ![]() |
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?
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() ben kab Inscription : octobre 2010 Messages : 54 ![]() |
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. |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : mars 2010 Messages : 105 ![]() |
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 |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Vincent OPNI Inscription : décembre 2004 Messages : 1 668 ![]() |
? 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:
Mon dernier trip musical Citation:
|
||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() ben kab Inscription : octobre 2010 Messages : 54 ![]() |
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 |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mars 2010 Messages : 105 ![]() |
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? |
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Vincent OPNI Inscription : décembre 2004 Messages : 1 668 ![]() |
Dommage, je ne peut pas ouvrir la pièce jointe ...
__________________
Citation:
Mon dernier trip musical Citation:
|
||
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() ben kab Inscription : octobre 2010 Messages : 54 ![]() |
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 |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() ben kab Inscription : octobre 2010 Messages : 54 ![]() |
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 |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : mars 2010 Messages : 105 ![]() |
Re,
Peux-tu nous dire quelles sont les données élémentaires dans ta requête finale? |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() ben kab Inscription : octobre 2010 Messages : 54 ![]() |
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 |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : mars 2010 Messages : 105 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com