Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'essaie de trier un tableau croisé dynamique en utilisant la fonction Rank d'une agrégation.
En pièce jointe, une image qui démontre que ma fonction Rank semble fonctionner.
Pour tester, j'ai créé un simple tableau (à gauche) dans lequel j'ai mis dans la première colonne ma fonction :
=rank(aggr(Sum(RatioFleet),PilierFleet, Vehicule))
et dans les valeurs (4 ème colonne), j'ai mis : =aggr(Sum(RatioFleet),PilierFleet, Vehicule).
Là ça fonctionne, mes véhicules sont bien triés en fonction du résultat de mon calcul.
Lorsque, dans mon tableau croisé (à droite), je choisi l'option : tri par expression pour le paramètre "Vehicule" et que je met :
=rank(aggr(Sum(RatioFleet),PilierFleet, Vehicule))
ça ne fonctionne pas 😕
On voit par exemple que le véhicule 1FTW877 qui n'a qu'une valeur de 6 est placé en haut de la liste ?
Alors que dans le simple tableau (à gauche), il est à la bonne place (place 22).
Peut-être manque-t-il un "Total" quelque part ?
D'avance merci.
Antoine,
nb : dans mon tcd, la mesure est sum(RatioFleet)
Bonjour
Au final ajouter en dimension calculée pour Vehicule cette expression
=dual( Vehicule, aggr( rank( total sum(RatioFleet),4,1),PilierFleet,Vehicule))
Cordialement,
Bruno
Hello
Dans ton tcd tu as en colonne une dimension fleetanneemois. Dans ton tableau simple cette dimension n'est pas présente.
Dans ton formule AGGR ajoute ta dimension fleetanneemois.
=aggr(Sum(RatioFleet),PilierFleet, Vehicule,FleetAnneeMois)
Et pour classer
Rank(aggr(Sum(RatioFleet),PilierFleet, Vehicule,FleetAnneeMois))
Bruno
Merci Bruno pour ta réponse.
Mon but n'est pas de créer un tableau simple mais d'ajouter l'expression qui me permettra de trier les véhicules dans le tcd.
Je n'ai pas mis "FleetAnneeMois" dans le tableau simple car mon but est d'avoir la valeur total.
D'ailleurs la valeur qui m'intéresse dans le tcd est le total du champ "FleetAnneeMois".
Si tu as une autre idée, ça m'intéresse merci.
Antoine,
En complément de ma réponse d'hier, j'ajoute que j'ai aussi essayé avec l'expression de tri :
=sum(TOTAL <PilierFleet, Vehicule> RatioFleet)
Etant donné que mon but est de classer par total des valeurs (donc total de tous les FleetAnneeMois) par PilierFleet et ce pour chaque véhicule, je pensais que ça fonctionnerait mais ça ne donne pas de meilleurs résultats.
D'avance merci pour votre aide.
Antoine,
Bonjour Bruno,
Merci pour ta nouvelle proposition :
J'ai mis l'expression de tri : aggr(rank(sum(RatioFleet)),PillierFleet,Vehicule)
Mais ça ne fonctionne toujours pas.
Une autre idée ?
Merci d'avance.
Bonjour
Il doit nous manquer un total quelque part :
essaye ceci
aggr(total rank(sum( RatioFleet)),PillierFleet,Vehicule)
aggr(total rank(sum( RatioFleet)),Vehicule)
Merci mais ... aucune des 2 propositions ne fonctionne 😭
Zut désolé 😞
est ce aque tu peux partager ton application ou du moins une partie en réduisant l'échantillon
ou uploader un fichier excel avec quelques données ?
Cordialement,
Bruno
Bonjour,
J'ai créé une petite app.
Y a t il un moyen de te l'envoyer sans la poster sur le forum (question de confidentialité des infos ?)
D'avance merci.
Bien à toi,
Antoine,
Bonjour
Au final ajouter en dimension calculée pour Vehicule cette expression
=dual( Vehicule, aggr( rank( total sum(RatioFleet),4,1),PilierFleet,Vehicule))
Cordialement,
Bruno