Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai une commande qui contient plusieurs produits avec un tarif différent.
Commande | Produit | Tarif | Montant total commande |
---|---|---|---|
12345 | A | 300 | - |
12345 | B | 200 | 600 |
12345 | C | 100 | - |
le montant de la commande est calculé dans le graphique avec l'expression : Aggr(sum(Montant), Commande) et il se met de manière aléatoire sur l'une des lignes alors que je voudrais qu'il se mette sur la ligne du produit avec le tarif le plus cher (A).
Je souhaite au final obtenir le tableau suivant :
Commande | Produit | Montant Commande |
---|---|---|
12345 | A | 600 |
Savez-vous comment je peux faire soit au niveau du script soit au niveau de l'affichage du graphique (conditionnel ?).
Merci
Anne-Flore
May be this:
If(RowNo() = 1, Sum(TOTAL <Commande> Tarif))
Bonjour Anne Flore,
je ferai un group by au niveau du script :
load Commande,
max(Tarif) as TarifMax
resident MaTable
group by Commande;
ainsi j'identifie le tarif max par Commande
j'utiliserai ce champ en la dimension :
DIM1: Commande
DIM2 : Produit
DIM3 : TarifMax
EXPR : Aggr(sum(Montant), Commande)
Florent
Bonjour
Essayes ceci :
Aggr(sum(Montant), Commande,Produit)
ainsi tu as une somme des montants par commande et par Produit
Bonjour,
Oui, la formule d'agrégation est bonne (je l'utilise déjà) mais je n'arrive pas à affecter le résultat du calcul sur la ligne du produit qui a le tarif le plus élevé, même avec ce script.
En fait, pour repréciser ma question, je ne veux afficher dans mon tableau qu'une seule ligne par commande et je veux garder uniquement la ligne avec le produit le plus cher et affecter à cette ligne le montant total de la commande (qui contient plusieurs produits).
Merci
Anne-Flore
Bonjour,
Ce n'est pas le résultat auquel je veux arriver. En fait, pour repréciser ma question, je ne veux afficher dans mon tableau qu'une seule ligne par commande et je veux garder uniquement la ligne avec le produit le plus cher et affecter à cette ligne le montant total de la commande (qui contient plusieurs produits).
Merci
Anne-Flore
Bonjour,
Cette expression affecte le montant total de la commande à toutes les lignes de produits mais après je ne sais pas comment faire pour n'afficher que le produit le plus cher.
Merci
Anne-Flore
as-tu essayé ma méthode ?
il faudra sûrement que que pour la DIM3 tu coches "supprimer si la valeur est nulle"...
Florent
Like this?
If(Rank(Sum(Tarif)) < 2, Sum(TOTAL <Commande> Tarif))
Oui, j'ai essayé mais le montant total de la commande n'est pas affecté à la ligne qui a le produit au tarif le plus élevé.
Merci
Anne-Flore