Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
afguillard
Contributor III
Contributor III

Sélectionner de lignes de commandes

Bonjour,

J'ai une commande qui contient plusieurs produits avec un tarif différent.

CommandeProduitTarifMontant total commande
12345A300-
12345B200600
12345C100-

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 :

CommandeProduitMontant Commande
12345A600

Savez-vous comment je peux faire soit au niveau du script soit au niveau de l'affichage du graphique (conditionnel ?).

Merci

Anne-Flore

25 Replies
sunny_talwar

May be this:

If(RowNo() = 1, Sum(TOTAL <Commande> Tarif))

flochi75
Creator III
Creator III

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

brunobertels
Master
Master

Bonjour

Essayes ceci :

Aggr(sum(Montant), Commande,Produit)

ainsi tu as une somme des montants par commande et par Produit

afguillard
Contributor III
Contributor III
Author

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

afguillard
Contributor III
Contributor III
Author

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

afguillard
Contributor III
Contributor III
Author

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

flochi75
Creator III
Creator III

as-tu essayé ma méthode ?

il faudra sûrement que que pour la DIM3 tu coches "supprimer si la valeur est nulle"...

Florent

sunny_talwar

Like this?

Capture.PNG

If(Rank(Sum(Tarif)) < 2, Sum(TOTAL <Commande> Tarif))

afguillard
Contributor III
Contributor III
Author

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