Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à la communauté,
Je me suis basé sur les set suivants qui ramènent respectivement pour le premier le nom du fonds le plus rentable et pour le second le fond le moins rentable.
=Minstring({< Asset_USD = {$(=Num(Max({<[Asset Class] = {'Equity'}>} Asset_USD)))} >} [Account Name])
=Minstring({< Asset_USD = {$(=Num(Min({<[Asset Class] = {'Equity'}>} Asset_USD)))} >} [Account Name])
Je tiens ces formules d'une démo mis sur le site de Qlikview.
Au passage peu importe que le Minstring soit remplacé par Only ou MaxString les formules renvoient toujours le même résultat.
Pour revenir à mon sujet, je dispose des informations suivantes:
Dans un objet text, J'ai voulu me baser sur ces formules pour déterminer pour Chaque DivisionName('Europe'...), la CompanyName qui a fait le plus de marge ainsi que celle qui fait le moins de marge.
=Only({< Marge = {$(=Num(Max({< DivisionName = {' Europe'}>} Marge)))} >} CompanyName)
=Only({< Marge = {$(=Num(Min({< DivisionName = {' Europe'}>} Marge)))} >} CompanyName)
Mon résultat est faux peu importe que j'utilise Only, MaxString ou Minstring.
Quelqu'un pourrais t'il m'aider?
Bonjour,
Si tu as une marge par produit et que tu fais un tableau avec la dimension DivisionName, only ne marche pas car tu dois faire la somme des marges pour chaque company, et ramener la meilleure.
Pour ma part j'utilise :
=FirstSortedValue(CompanyName,aggr(rank(-sum(Marge)),DivisionName,CompanyName),1)
Bonjour,
Si tu as une marge par produit et que tu fais un tableau avec la dimension DivisionName, only ne marche pas car tu dois faire la somme des marges pour chaque company, et ramener la meilleure.
Pour ma part j'utilise :
=FirstSortedValue(CompanyName,aggr(rank(-sum(Marge)),DivisionName,CompanyName),1)
Merci Christophe pour ton aide ô combien précieuse!
Entreprise la moins rentable
=FirstSortedValue(CompanyName,aggr(rank(-sum(Marge)),DivisionName,CompanyName),1)
Entreprise la plus rentable
=FirstSortedValue(CompanyName,aggr(rank(+sum(Marge)),DivisionName,CompanyName),1)
Dans un Objet Text ça donne ceci :
Entreprise la plus rentable
=FirstSortedValue( Client.CompanyName ,aggr( rank( +sum( {$<Client.DivisionName = {'Europe'}>} Marge) )
,Client.CompanyName ) ,1)
Le 1 concerne la première entreprise qui dégage le plus de marge , pour la seconde et la troisième il faut juste remplacer le 1 par 2 et 3 ainsi de suite.
Cordialement
Ok parfait.
et si tu veux la marge de la meilleure companyseulement :
sum({$<CompanyName=$(=FirstSortedValue(CompanyName,aggr(rank(+sum(Marge)),DivisionName,CompanyName),1)>}Marge)
Cela ne marche que si CompanyName ne contient pas d'espace. Si c'est le cas, utilise le code de CompanyName à la place