Power query nombre de colonne par rapport à un critere
Résolucousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 - 11 juil. 2024 à 08:55
- Power query nombre de colonne par rapport à un critere
- Power query download - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
11 réponses
6 juil. 2024 à 11:11
Bonjour,
Par exemple, comme ceci :
NbTit = List.Count(List.Select(Table.ColumnNames(Source), each Text.StartsWith(_,"COMP_")))
Bonne journée
11 juil. 2024 à 08:55
Bonjour,
Avec Power Query, dès qu'on fait référence à une Table, il faut indiquer le nom de l'étape comprenant cette table.
Dans mon code, la 1ère étape est "Source", la 2ème "TypeDate"
Cette 2ème étape, je l'ai renommé à la main (clic droit dans le bandeau de droite, "Renommer", afin de remplacer le nom donné automatiquement par PQ
Dans la commande :
AjtRec = [Crit_Comp = List.Count(List.Select(Table.ColumnNames(TypeDate), each Text.StartsWith(_,"COMP_"))),
Crit_QLT = List.Count(List.Select(Table.ColumnNames(TypeDate), each Text.EndsWith(_,"_QLT"))),
Crit_DOC = List.Count(List.Select(Table.ColumnNames(TypeDate), each Text.EndsWith(_,"_DOC")))],
Tu peux donc remplacer tous les "TypeDate" par "Source", car cette étape comporte également les mêmes colonnes que l'étape suivante
Cette commande te permet d'obtenir le nombre de colonnes répondant à tes critères, tu peux en rajouter autant que tu veux.
Bonne journée
7 juil. 2024 à 13:54
Bonjour Cousinhub29
Merci Beaucoup pour la solution .
C'est exactement ce que je souhaitais .
Tres bon Dimanche
Keshia
Modifié le 9 juil. 2024 à 10:20
Bonjour,
Je ne comprends pas trop :
"j'ai creer une table"
Tu veux dire, une variable?
Sinon, sans filet, ceci ne fonctionnerait t'il pas?
=[Total Critere Qualité Livraison] / List.Count(List.Select(Table.ColumnNames(Source), each Text.StartsWith(_,"COMP_")))
Attention à bien spécifier l'étape précédente (ici, c'est "Source", mais dans ta requête???)
Si ça ne fonctionne pas, un petit fichier exemple?
Bon courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question9 juil. 2024 à 14:04
Bonjour Cousinhub29
Merci pour votre réponse.
Même en divisant par la formule j'ai un message d'erreur.
Par la même occasion j'en profite pour vous demander quelle formule utiliser pour faire la somme de colonne en fonction d'un critere .
exemple je souhaiterais faire la somme de toute les colonnes que finissent par _DOC.
Ci-joint un fichier
https://www.cjoint.com/c/NGjlHmxTEPp
Merci pour votre patience et votre aide
Bonne journée
Keshia
9 juil. 2024 à 14:41
Re-,
J'essaye d'analyser ton fichier, et tu es en train de faire une sorte de self-referencement, d'où les messages d'erreur "erreur cyclique".
De ce que je comprends, ton tableau de données est dans l'onglet "Feuil1", mais tu y rajoutes des colonnes de calcul (mois, année, trimestre, année fiscale...)
Comment est vraiment structuré ton tableau de données?
Quelles colonnes sont présentes dans le tableau initial?
Je ne vais pas rectifier tes codes, mais rajouter les miens, ainsi tu pourras analyser le nouveau code.
Je vais commencer en démarrant sur un Tableau avec la date de livraison, le magasin, et les 6 colonnes commençant par "Comp_"
Dans l'attente d'une confirmation, ou infirmation de ta part.
9 juil. 2024 à 15:50
Re,
Voici déjà un premier jet...
Comme je n'ai pas bien compris le calcul des pourcentages, je n'ai pas encore réalisé ces opérations.
Mais tu me dis déjà si le projet est sur la bonne voie...
https://www.cjoint.com/c/NGjnYIq748W
9 juil. 2024 à 17:12
Bonjour Cousinhub29
Merci beaucoup c'est exactement la formule que je cherchais. list.sum ????
Pour les pourcentages je souhaiterais diviser chaque ligne de total par son nombre de critère .
Toutes les lignes de la colonne total DOC par 2.
Toutes les lignes de la colonne Total QLT par 3
C'est pour cela que j'ai créer les 3 petites tables
Merci pour votre aide.
Bonne journée
Keshia
9 juil. 2024 à 17:29
Re-,
Pour moi, ce calcul ne donne pas un pourcentage...
Avec l'ajout d'une colonne personnalisée (après calculDOC, puis après calculQLT), cette formule devrait le faire :
= Table.AddColumn(CalculDOC, "Part DOC", each [Total_DOC]/#"Critere DOC")
9 juil. 2024 à 18:35
Bonjour Cousinhub29
oui vous avez raison.
En faite le resultat du calcul ne donne pas un pourcentage car le nombre de critére dans l'éxemple est trop bas.
Alors sinon comme je n'y arrive pas avec la formule
= Table.AddColumn(CalculDOC, "Part DOC", each [Total_DOC]/#"Critere DOC")
Serait-il possible d'ajouter en nouvelle colonne le chiffre de ma table #"Critere Doc" dans mon tableau pour que je puisse faire une operation entre 2 colonnes.
Ce serait plus simple pour moi.
Merci Beaucoup
Bonne soirée
Keshia
9 juil. 2024 à 18:53
Re-,
Je m'étais aperçu d'une erreur dans la logique.
En effet, dans ma réponse 9, j'utilise un critère calculé sur la base de TON tableau...
Et que dans ma requête, je nomme les différentes colonnes ajoutées par Total_DOC..., le dénombrement doit donc se faire en tout début de requête.
J'ai modifié le fichier afin de calculer ces données juste après la modification du typage en date.
Et j'utilise ces nouveaux critères dans les calculs (que je nomme Par COMP, Par DOC et Par QLT)
https://www.cjoint.com/c/NGjq1y0vd1W
10 juil. 2024 à 22:10
Bonsoir Cousinhub29
Merci pour le fichier .
Depuis hier j'essaye de comprendre comment vous avez fais La ligne AjtRec dans les étapes de la requette mais sans success. Et comme dans mon fichier origine je n'ai pas l'étape TypeDate cela ne fonctionne pas même en copiant la formule.
Il me mets Record puis aucune colonne trouvée. ????
Ce n'est pas grave je vais directement diviser par le chiffre .
Mais merci pour toutes les autres formules qui fonctionnent tres bien.
Bonne soirée
Keshia
9 juil. 2024 à 00:25
Bonjour Cousinhub29
J'aurais s'il vous plait encore besoin de votre aide.
Avec la formule j'ai creer une table que j'ai appellé #"Critére (Qualité Lvraison)" et dans une colonne personnalisée je voulais utiliser le chiffre de cette table pour diviser le resultat de chaque ligne de la colonne [Total Critere Qualité Livraison] de mon tableau.
Comme ceci
=[Total Critere Qualité Livraison] / #"Critére (Qualité Lvraison)"
Mais cela ne fonctionne pas j'ai toujours ce message d'érreur.
Expression.Error : Il n'y avait pas assez d'éléments dans l'énumération pour terminer l'opération.
Détails :
[Table]
Pouvez-vous s'il vous plait m'aider.
Merci
Bonne soirée
Keshia