Indexer dans power query

Bonjour à tous,

Un nouveau problème avec power query.

Je cherche à faire un index pour chaque mois en fonction du pourcentage de ventes :

pour mars un index, idem pour avril.

Un fichier test est en fichier joint.

Merci de votre aide

8test-ranking.zip (118.63 Ko)

Bonjour à tous !

Si vous attendez un "rang mensuel" (et non un index) lié au "% sales" :

let
    Source = Excel.CurrentWorkbook(){[Name = "Monthly_Data"]}[Content], 
    Pct_sales = Table.AddColumn(
        Source, 
        "% sales", 
        each [Sales person] / [Sales Store], 
        Percentage.Type
    ), 
    GroupBy_mois = Table.Group(
        Pct_sales, 
        {"Month"}, 
        {{"All", each Table.AddRankColumn(_, "Rang mensuel", {"% sales", 1})}}
    ), 
    Combine_Tbl = Table.Combine(GroupBy_mois[All])
in
    Combine_Tbl

Bonjour,

Hi, JFL

J'étais sur la même idée, mais un gros doute...

Attendons voir.

Bon dimanche

Bonjour à tous de nouveau !

@cousinhub : Hello !

Je suis parti du principe que la version indiquée dans le profil n'est pas.... à jour (Le code utilisé pour le Table.AddIndexColumn ne semble pas conforme à la syntaxe Excel 2016).

Re-,

Bonjour à tous de nouveau !

@cousinhub : Hello !

Je suis parti du principe que la version indiquée dans le profil n'est pas.... à jour (Le code utilisé pour le Table.AddIndexColumn ne semble pas conforme à la syntaxe Excel 2016).

Excellente déduction.

@Caro, si ta version n'est pas 2016, modifie dans ton profil. Comme tu peux le voir dans le fil mis en lien, PQ comporte des différences selon les versions.

Bonne journée

Merci à tous.

Ma version est bien 2016.

J'ai testé le code de JFL qui fonctionne très bien. Sauf que j'ai oublié un paramètre . Trois employés peuvent être dans différents stores. Ils ne doivent apparaitre qu'une fois ( somme des sales store et sales person ) pour que le rang mensuel soit correct.

Le fichier avec le code JFL est joint

7test-ranking.zip (119.59 Ko)

Bonjour à tous de nouveau !

Version 2 amendée :

let
    Source = Excel.CurrentWorkbook(){[Name = "Monthly_Data"]}[Content], 
    GroupBy_NameMonth = Table.Group(
        Source, 
        {"Name", "Month"}, 
        {
            "Rec", 
            each [
                Sales Store  = List.Sum([Sales Store]), 
                Sales person = List.Sum([Sales person]), 
                #"% sales"   = #"Sales person" / #"Sales Store"
            ]
        }
    ), 
    Expand_rec = Table.ExpandRecordColumn(
        GroupBy_NameMonth, 
        "Rec", 
        {"Sales Store", "Sales person", "% sales"}
    ), 
    GroupBy_Month = Table.Group(
        Expand_rec, 
        {"Month"}, 
        {{"All", each Table.AddRankColumn(_, "Rang", {"% sales", 1})}}
    ), 
    Expand_tbl = Table.ExpandTableColumn(
        GroupBy_Month[[All]], 
        "All", 
        {"Name", "Month", "Sales Store", "Sales person", "% sales", "Rang"}
    ), 
    Types = Table.TransformColumnTypes(
        Expand_tbl, 
        {
            {"Name", type text}, 
            {"Month", type date}, 
            {"Sales Store", Int64.Type}, 
            {"Sales person", Int64.Type}, 
            {"% sales", Percentage.Type}, 
            {"Rang", Int64.Type}
        }
    )
in
    Types

NOTE : Concernant votre version Excel, pouvez-vous faire une copie écran de l'information liée à votre environnement ?
(Menu Fichier / Compte / A propos de Excel)
A titre d'exemple mon environnement :

image

Bonsoir à tous,

Un grand merci pour ce code. Il fonctionne parfaitement. J'ai essayé de le comprendre et de le réadapter pour d'autres demandes. Génial, cela va beaucoup m'aider.

Bonne soirée

Re-,

Bonsoir à tous,

Un grand merci pour ce code. Il fonctionne parfaitement. J'ai essayé de le comprendre et de le réadapter pour d'autres demandes. Génial, cela va beaucoup m'aider.

Bonne soirée

Si je peux me permettre....

Comme te l'a demandé JFL, pourrais-tu faire une copie d'écran de ta version d'Excel?

Ceci afin d'évaluer si mes "affirmations" du fil en lien dans ma réponse sont toujours d'actualité.

Merci, et bonne soirée

Bonjour Cousinhub,

Qu'entends tu par copie d'écran de ta version d'Excel ?

Voici une copie d'écran du résultat

image

Bonne journée

Bonjour,

Non, c'est, comme l'a montré JFL à la fin de sa dernière réponse, une copie d'écran indiquant ta version d'Excel :

Lorsque tu cliques sur "Fichier", puis "Compte", une copie de ce résultat :

image

Bonjour à tous !

Bien....

Je vous remercie de ce retour.

Pour le reste..... la Bretagne en soutien de la Champagne espère un résultat.....

Pour Cousinhub Voici une image

image

Re-,

Merci pour le retour...

C'est vraiment étonnant, tout ce que µSoft est capable de faire...

Au boulot, 2016 Pro, et les solutions proposées n'auraient pas fonctionné (pour les 2 remarques concernant Index et AddRankColumn)

Et toi, avec la licence famille et étudiant, ça fonctionne...

J'arrête définitivement d'essayer de comprendre, plus qu'à subir

Merci encore pour ton retour, et bonne journée

J'aurais encore une question au cas où vous auriez la réponse. Je cherche à faire une MFC qui soit distincte en fonction de chaque mois et je cale. J'imagine que c'est avec une formule. Une idée ?

image

Bonjour à tous !

@cousinhub : Hello !

J'arrête définitivement d'essayer de comprendre, plus qu'à subir

Hélas, hélas, hélas......

Une pierre supplémentaire dans le jardin de Microsoft.

Même pas certain que l'IA soit en mesure de suivre les obscures versions d'Excel.

Rechercher des sujets similaires à "indexer power query"