Présentation de la fonction argmax

Nous partons d'un cBase contenant des données de ventes. Nous souhaitons afficher dans la fenêtre de plongée la meilleure quantité de vente faite par un vendeur et connaitre le vendeur associé.

Autrement dit, nous avons la plongée suivante :

Pour chaque produit, nous souhaiterions connaitre la quantité maximale vendue par le meilleur vendeur et connaitre le nom de ce vendeur.

Si depuis la fenêtre précédente on sélectionne le Produit Câble RJ11 et que l'on plonge sur la Dimension Vendeur et que l'on fait un tri décroissant sur la colonne Qté ventes on obtient le résultat suivant :

Pour le Câble RJ11 le meilleur vendeur est Chapier et avec une Qté ventes de 107.

Nous allons nous appuyer sur un cPlan pour arriver au résultat escompté.

Voici le contenu du cPlan s’appuyant sur le cBase ventes.cbase précédemment ouvert :

cplan {
  cbase-input "ventes.cbase"
  calc "Meilleure qté vente" `dimmax(sum(value("Qté ventes")),"Vendeur")`
  calc "Meilleur vendeur" `argmax(sum(value("Qté ventes")),"Vendeur")`
}

L'ouverture dans ProDiver du cPlan et une plongée sur la Dimension Produit nous donne ceci :

A ce stade, les nouvelles colonnes déclarées dans le cPlan ne sont pas encore visibles.

Pour les afficher, faire un clic-droit sur la vue tabulaire. Dans le menu contextuel qui apparait, sélectionner l'option Sélectionner colonnes...

La boite de dialogue Sélection de colonnes apparait :

Faire passer les colonnes Meilleure qté vente et Meilleur vendeur de la zone Disponibles à la zone Sélectionnées puis cliquer sur OK.

Les colonnes Meilleure qté vente et Meilleur vendeur sont désormais affichées :

La fenêtre de plongée nous confirme bien que pour le Câble RJ11, le meilleur vendeur est Chapier et avec une Qté ventes de 107.