Accueil – Le CFO masqué › Forums › Power Query › Tri d’un tableau à l’aide de plusieurs variables
Mots-clés : Tri Conditionnel
- Ce sujet contient 8 réponses, 3 participants et a été mis à jour pour la dernière fois par Stéphane Lorin, le il y a 3 années et 8 mois.
-
AuteurArticles
-
27 janvier 2021 à 12 h 16 min #86523philippe.monclerParticipant
Bonjour à tous,
tout d’abord j’espère poster dans la bonne rubrique et que le titre est bien représentatif de mon problème.
Si après explications vous souhaitez le modifier, avec plaisir. 😉Objectif : Connaitre l’état de protection Antivirus d’un parc d’ordinateur.
Support : Un extract CSV d’un agent d’inventaire de logiciel.
Destination : Rapport Power BIMa difficulté est que pour un même ordinateur, je peux avoir deux logiciels antivirus installé
=> donc deux lignes.
L’un est actif et l’autre pas — ou –Aucun des deux n’est actifLa deuxième difficulté ( selon moi ) est que parfois je n’ai qu’une seule ligne par ordinateur,
le résultat attendu est :
10 PC – Protection Active – Antivirus 1
8 PC – Protection Active – Antivirus 2
5 PC – Protection inactive –pour Clarifier un peu plus un fichier Excel contenant l’exemple.
Je ne sais pas par quel angle prendre le souci, et j’ai tendance à raisonner en NB.SI alors que l’approche doit surement être possible autrement.Merci pour votre aide (et votre lecture) en espérant que mon cas aura suscité votre attention.
@ bientôt, Phhilippe.
Attachments:
You must be logged in to view attached files.27 janvier 2021 à 13 h 26 min #86527Kim LeblancParticipantBonjour Philippe,
Vous pouvez faire le calcul directement dans une matrice.
Voir image ci-jointe.
Kim
Attachments:
You must be logged in to view attached files.29 janvier 2021 à 8 h 56 min #86604philippe.monclerParticipantBonjour Kim,
Merci pour votre retour et votre proposition.
Ce que je vois dans la matrice ne correspond pas à ma recherche, car cela fait état d’un total de 13 x PC, alors que je vous ai fourni une liste contenant seulement 8 x PC.La”bonne réponse” à obtenir serait :
3 x PC sont protégés par l’Antivirus 1
3 x PC sont protégés par l’Antivirus 2
2 x PC ne sont Pas protégés
—
Total 8 x PC.dernier point que je n’avais pas mentionné je souhaiterai présenter ce résultat sous forme de camenbert. Mais si cela doit se faire sous forme de matrice, je m’en accommoderai. 😉
Je vais tenter de retravailler le tableau avec des filtres pour créer un nouveau tableau avec des colonnes conditionnel.
Encore merci à la communauté pour vos suggestions.
Bien cordialement, Philippe.29 janvier 2021 à 10 h 43 min #86606Stéphane LorinParticipantBonjour
Pas testé mais voici comment je procèderai dans PowerQuery– Requete1 : j’importe le csv
– Requete2 : je fais référence à la Requete1, je filtre uniquement les lignes “Enabled”
Comme vous avez précisé qu’un seul Antivirus ne pouvait être actif à la fois, pas de problème de doublon.– Requete3 : je fais de nouveau référence à la Requete1, je ne prends que la 1ere colonne (nom du PC) et je supprime les doublons. Puis je fusionne avec la Requête2 et je récupère le nom de l’antivirus. Les PC qui renvoient “null” n’ont pas d’antivirus actif
Ensuite il ne devrait pas y avoir de soucis pour votre camenbert
Stéphane
29 janvier 2021 à 11 h 00 min #86607philippe.monclerParticipantBonsoir Stéphane,
Merci d’avoir formalisé cela dans Power Query ,
je teste de ce pas cette approche.
@ suivre…29 janvier 2021 à 11 h 57 min #86608Stéphane LorinParticipantAutre approche avec une seule requête :
– Vous importez votre csv
– Vous pivotez suivant le nom de l’antivirus en choisissant la colonne de valeur “Etat de protection” et dans les options avancées “ne pas agréger” (possibilité souvent méconnue et pourtant très pratique)
– Vous ajoutez une colonne conditionnelle du style
if [Antivirus1]=”Enabled” then “Antivirus1″
else if [Antivirus2]=”Enabled” then “Antivirus2”
else “Pas d’antivirus”Stéphane
29 janvier 2021 à 12 h 06 min #86609philippe.monclerParticipantBonjour à tous,
Bingo ! Camenbert réussi.
Je suis allé jusqu’à la fusion ( Fusionner les requêtes comme nouvelles: CF Image1) mais je me suis aperçu que ce n’était pas forcement nécessaire.
une fois la requête 2 et la requête 3 obtenue,
je prends le Nbre de Nom d’ordi de la requête 3 ( nom unique )
je prends le nom de l’antivirus Enabled de la requête 2
Si il n’y a pas d’Antivirus Enabled j’obtiens un “Vide ”
CF Image2Entre temps j’ai vu la deuxième Méthode que je tester et vous fait un retour.
Un grand merci pour l’intérêt porté à ma demande,et pour la qualité de vos réponses.
Je vais pouvoir réutiliser cette approche pour traiter bon nombre de recherche de texte.@ bientôt, Philippe.
Attachments:
You must be logged in to view attached files.29 janvier 2021 à 12 h 20 min #86612philippe.monclerParticipantBonsoir Stéphane,
Cette approche ressemble plus à ce que j’entre-voyais. C’est à dire d’écrire des conditions en fonction de la recherche du texte.
Mais bravo pour la fonction de pivot qui est en effet très utile, à laquelle je n’avais absolument pensé.
Encore en cours d’apprentissage, j’avoue être encore trop imprégné de réflexion de traitement “Excel” et qu’il me reste plein de chose à tester sur Power Query.Encore Merci pour votre aide , Problème résolu !
Bonne fin de journée, à tous.
29 janvier 2021 à 12 h 43 min #86613Stéphane LorinParticipantDe rien !
et merci de votre retour positif
Bonne fin de journée également
Stéphane -
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.