Total general tcd comme champ calculé

Pas reçu

je t'es envoyer le fichier

salut Chris encore merci pour ton aide le PowerQuery est plus adapté pour la résolution de mon problème j'ai pu adapté a mon fichier et c'est nickel.je m'attarderai dessus pour mieux comprendre PQ.

Dis moi je me sers de ce tableau pour faire des sommes en fonction de condition, je ne peux pas utilisé somme si ou somme prod ou meme somme si ens car je fais des selections depuis un segment donc la somme doit se calculé automatiquement en fonction aussi de mon filtre sur segment.

j'ai ajouter une colonne categorie a mon fichier et c'est sur cette colonne que ma condition doit etre faite. j'ai voulu passé par sous total mais je bloque car je ne sais pas comment faire ma condition

je veux obtenir la somme en H15 des cadres et celle des AM par exemple .

Ensuite je pourrai moi meme faire le reste des somme pour terminer mon fichier.

NUMSEMAINENomAgentMatriculeTotalHNH15H50H75H100CATEGORIE
17 BLAISE 700156738800CADRE
17 GHISLAINE710156728800AM
18 BLAISE 7001567348,754062,75CADRE
18 GHISLAINE71015672464060AM

as tu une idée de comment je peux m'y prendre

Bonjour

Le plus simple est de garder la catégorie dans PowerQuery puis faire un TCD sur le résultat.

Je n'ai que le code
mais voici le code M modifié :

let
    Source = Excel.CurrentWorkbook(){[Name="Base"]}[Content],
    #"Autres colonnes supprimées" = Table.SelectColumns(Source,{"DateBordereau", "CodeCategorie","NomAgentRegie", "MatriculeRegie", "Majoration", "NbreHeures"}),
    #"Type modifié" = Table.TransformColumnTypes(#"Autres colonnes supprimées",{{"DateBordereau", type date}}),
    #"Personnalisée ajoutée" = Table.AddColumn(#"Type modifié", "NUMSEMAINE", each SemaineISO([DateBordereau])),
    #"Lignes groupées" = Table.Group(#"Personnalisée ajoutée", {"NUMSEMAINE", "NomAgentRegie", "MatriculeRegie", "CodeCategorie"}, {{"Total", each List.Sum([NbreHeures]), type number}, {"Tabl", each _, type table [DateBordereau=nullable date, CodeCategorie=text, NomAgentRegie=text, MatriculeRegie=text, Majoration=number, NbreHeures=number, NUMSEMAINE=number]}}),
    Total = Table.ExpandTableColumn(#"Lignes groupées", "Tabl", {"Majoration", "NbreHeures"}, {"Majoration", "NbreHeures"}),
    HN_Brut = Table.AddColumn(Total, "HN", each if [Majoration]<=50 then [NbreHeures] else 0),
    #"Lignes groupées1" = Table.Group(HN_Brut, {"NUMSEMAINE", "NomAgentRegie", "MatriculeRegie", "CodeCategorie", "Total"}, {{"HN0", each List.Sum([HN]), type number}, {"Tabl", each _, type table [NUMSEMAINE=number, NomAgentRegie=text, MatriculeRegie=text, CodeCategorie=text, Total=number, Majoration=nullable number, NbreHeures=nullable number, HN=number]}}),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Lignes groupées1",{"Tabl"}),
    H15 = Table.AddColumn(#"Colonnes supprimées", "H15", each if [HN0]-40 <0 then 0 else if [HN0]-40>=6 then 6 else [HN0]-40),
    H50 = Table.AddColumn(H15, "H50", each if [HN0]-40-[H15]<0 then 0 else [HN0]-40-[H15]),
    HN_Net = Table.AddColumn(H50, "HN", each if [HN0]>40 then 40 else [HN0]),
    #"Colonnes supprimées1" = Table.RemoveColumns(HN_Net,{"HN0"}),
    #"Lignes groupées2" = Table.Group(Total, {"NUMSEMAINE", "MatriculeRegie", "Majoration"}, {{"NBH", each List.Sum([NbreHeures]), type nullable number}}),
    #"75_100" = Table.SelectRows(#"Lignes groupées2", each ([Majoration] = 75 or [Majoration] = 100)),
    #"Colonne dynamique" = Table.Pivot(Table.TransformColumnTypes(#"75_100", {{"Majoration", type text}}, "fr-FR"), List.Distinct(Table.TransformColumnTypes(#"75_100", {{"Majoration", type text}}, "fr-FR")[Majoration]), "Majoration", "NBH", List.Sum),
    #"Colonnes renommées1" = Table.RenameColumns(#"Colonne dynamique",{{"75", "H75"}, {"100", "H100"}}),
    Tout = Table.NestedJoin(#"Colonnes supprimées1", {"NUMSEMAINE", "MatriculeRegie"}, #"Colonnes renommées1", {"NUMSEMAINE", "MatriculeRegie"}, "Colonne dynamique", JoinKind.LeftOuter),
    #"Colonne dynamique développé" = Table.ExpandTableColumn(Tout, "Colonne dynamique", {"H75", "H100"}, {"H75", "H100"}),
    #"Colonnes permutées" = Table.ReorderColumns(#"Colonne dynamique développé",{"NUMSEMAINE", "NomAgentRegie", "MatriculeRegie", "Total", "HN", "H15", "H50", "H75", "H100"}),
    #"Lignes triées" = Table.Sort(#"Colonnes permutées",{{"NUMSEMAINE", Order.Ascending}, {"NomAgentRegie", Order.Ascending}})
in
    #"Lignes triées"

Si la colonne a un autre nom que CodeCategorie ouvre Word, copie ce code, fait un cherche et remplace puis copie colle dans l'éditeur de la requête.

Je suis out une bonne partie de la journée...

Ok j’ai cru que je pouvais utilisé sous total avec si

Je vais tenter de passer par un TCD pour avoir les différents totaux et utilisé LiredonnesTCD pour récupérer les totaux et faire d’autres opérations avec

salut Chris j'ai eu mes totaux a l'aide du TCD. j'ai ajouter un segment sur NUMSEMAINE du TCD et lorsque je filtre, les totaux du TCD s'adaptent. Mon problème actuellement est que PQ nous a donner un résultat sous forme de tableau je voulais donc relié le segment que j'ai créer pour mon TCD a celui utilisé pour le tableau de données de PQ mais je penses que c'est pas possible car le tableau du PQ n'es pas un TCD. as tu une astuce

RE

L'idée c'est de ne pas utiliser le tableau : mettre le requête en connexion seulement et créer un ou des TCD directement sur la requête.

Tu pourras filtrer, sommer, moyenner...

Bonjour Chris merci pour ton aide j'ai pu obtenir le résultat que je souhaite en fesant comme tu l'a dit j'ai créer des TCD a partir du tableau obtenu depuis Power Query et j'ai fait mes opérations .

merci beaucoup et a+

Rechercher des sujets similaires à "total general tcd comme champ calcule"