Power query colonne additionnelle

Bonjour à tous,

Qui pourrait m'aider à construire cette colonne TOP 3 FLOP 3 par société?,

J'ai lu qu'on pouvait utiliser la fonction table buffer pour plus de rapidité,

Merci d'avance,

Cordialement,

Bonjour à tous !

Une première approche ?

let
    Source = Excel.CurrentWorkbook(){[Name="T_CA"]}[Content],
    GroupBy = Table.Group(
        Source,
        {"SOCIETE"},
        {
            {"Top N", each Table.FirstN(Table.Sort(_, {"CA",Order.Descending}),3)},
            {"Flop N", each Table.FirstN(Table.Sort(_, {"CA",Order.Ascending }),3)}
        }),
    Unpivot = Table.UnpivotOtherColumns(GroupBy, {"SOCIETE"}, "Classement", "Valeur"),
    Expand = Table.ExpandTableColumn(Unpivot, "Valeur", {"ETAB", "CA"}, {"ETAB", "CA"})
in
    Expand

Faut-il variabiliser le classement (3 ici) ?

Bonjour JFL,

Merci pour votre retour, et non le classement sera fixe (toujours 3),

Cependant lors du développement je n'ai plus les autres lignes qui ne sont ni top ni flop ?

Merci d'avance,

Cordialement,

Bonjour à tous de nouveau !

Version amendée :

let
    Source = Excel.CurrentWorkbook(){[Name="T_CA"]}[Content],
    GroupBy = Table.Group(
        Source,
        {"SOCIETE"},
        {
            {"Top N", each Table.FirstN(Table.Sort(_, {"CA",Order.Descending}),3)},
            {"Flop N", each Table.FirstN(Table.Sort(_, {"CA",Order.Ascending }),3)}
        }),
    Unpivot = Table.UnpivotOtherColumns(GroupBy, {"SOCIETE"}, "Classement", "Valeur"),
    Expand = Table.ExpandTableColumn(Unpivot, "Valeur", {"ETAB", "CA"}, {"ETAB", "CA"}),
    Jointure = Table.NestedJoin(Source, {"SOCIETE", "ETAB", "CA"}, Expand, {"SOCIETE", "ETAB", "CA"}, "Résultat", JoinKind.LeftOuter),
    Résultat = Table.TransformColumns(Jointure,{"Résultat", each if Table.IsEmpty(_) then "Faux" else "Vrai", Text.Type})
in
    Résultat

Bonjour JFL,

C'est parfait, une petite question sur un volume important de données votre proposition fonctionnera rapidement?,

Merci pour tout,

Cordialement,

Bonjour à tous de nouveau !

Je vous remercie de ce retour.

Pour la volumétrie, vos tests répondront à la question.

La "bufférisation" de la table n'est pas obligatoirement synonyme de gain de temps.

Bonsoir JFL,

Merci pour votre retour,

Cordialement,

Bonsoir JFL,

J'ai testé sur plusieurs lignes de mon projet, les résultats sont corrects, mais j'avoue ça rame beaucoup si je compare avant/aprés !

Le même fichier avec un peu plus de 800 lignes et j'ai l'impression que c'est long,

De plus sur mon projet de travail j'ai quelques étapes (Fusion...) et le nombre de colonnes est plus important, avant d'arriver à l'étape de regroupement afin de déterminer la colonne résultat,

Sans cette étape de regroupement et de détermination de la colonne Résultat, la requête s'actualise rapidement mais avec le code, la procédure rame,

Je ne peux joindre mon travail perso, mais si tu as une autre alternative ? sinon ce n'est pas grave je verrais comment m'en sortir autrement,

Merci d'avance,

Cordialement,

Bonsoir à tous !

Je viens de tester votre classeur de 800 lignes. Sur mon ordinateur portable, qui n'est pas spécialement un foudre de guerre, l'actualisation s'effectue en +/- 1 seconde. Acceptable non ?

L'utilisation de la fonction Table.Buffer n'apporte aucun gain de temps significatif.

Bonsoir JFL,

Merci pour votre retour, le mien rame plus alors que le votre lol, il mets 5 à 6 secondes, et avec les étapes précédentes sur mon fichier de travail cela me fait bien 9 secondes pour 850 lignes,

Comme la base du fichier va augmenter rapidement, je me demandais si vous n'aviez pas une botte secrète

Merci quand même pour votre participation, je clos donc le sujet,

Cordialement,

Bonsoir à tous de nouveau !

J'éprouve quelques difficultés à percevoir l'intérêt de ce champ "Résultat" qui distingue uniquement les Tops/Flops des autres. La première mouture de ma contribution, qui ne reprenait, en les distinguant, que les Tops N et Flops N, me semblait plus pertinente et avait le mérite d'éviter les étapes jointure et transformation champ.

Bonjour JFL,

Ce post fait suite à celui ci :

https://forum.excel-pratique.com/excel/avis-sur-graphique-et-tcd-power-query-184662

J'ai besoin des autres informations car sur mon projet sur une de mes feuilles j'ai un TCD avec pour source la requête T_CA, j'utilise une chronologie sur celui ci et sur un autre onglet je voulais le top 3 et flop 3 de ces lignes pour en faire un autre TCD et GCD.

Pour que la chronologie synchronise les deux tcd, il faut qu'ils aient la même source, c'est pour cela que j'ai besoin de toutes les lignes de la table T_CA et de la colonne Résultat (top/flop),

J'aurai aimer si possible avoir votre avis sur le travail que j'ai effectué, il est assez simple mais je me pose surtout la question de l'optimisation de celui ci, en message privé,

Je comprendrai que vous refusiez ,

Merci d'avance,

Cordialement,

Rechercher des sujets similaires à "power query colonne additionnelle"