Toutes mes réponses sur les forums
-
AuteurMessages
-
29 novembre 2021 à 2 h 31 min en réponse à : Comment insérer une année variable dans un nom de colonne filtrée? #99507
Stéphane Lorin
ParticipantBonjour
Vous pouvez faire le filtre directement en utilisant la fonction Record.Field.
Le caractère _ désigne l’enregistrement en cours et vous indiquez le nom du champ avec votre paramètre (qui est en texte)#”Lignes filtrées” = Table.SelectRows(#”Colonnes supprimées”, each (Record.Field(_, “Foyer “&Année) <> 0))
Stéphane
Stéphane Lorin
ParticipantBonjour
Utilisez une matrice pour détecter votre doublon
Stéphane
Attachments:
You must be logged in to view attached files.Stéphane Lorin
ParticipantBonjour
Avec PowerQuery, vous pouvez également utiliser la fonction DateTime.Time([end_time]) pour obtenir la partie horaire
Si la réponse d’Olivier vous convient, n’oubliez pas d’informer les forums sur lesquels vous avez posé également votre question.
Stéphane
Stéphane Lorin
ParticipantBonjour
vote demande n’est pas très claire.
lorsque j’ouvre votre fichier, vous n’expliquez pas ce que vous cherchez à obtenir.
en janvier il y a deux lignes : celle du 23 et celle du 30.
vous voulez faire la moyenne du champ “end_time” ?
à savoir 23/01 08:01 et 30/01 07:01 pour obtenir 07:31 ?Stéphane
Stéphane Lorin
ParticipantBonjour
Avez-vous essayé le type “any” ?
mais j’avoue ne pas bien comprendre votre questionsur le fond, on ne mélange pas des données de types différents dans un même champ.
Stéphane
Stéphane Lorin
ParticipantBonjour
Si vous voulez créer des TCD indépendants et que chacun ne puisse voir les données des autres il faut créer des fichiers différents.
Un fichier modèle avec un TCD qui pointe vers la base filtrée sur une ville (nom de la ville passé éventuellement en paramètre ou dans un tableau).
puis vous dupliquez autant de fois que nécessaire votre fichier en changeant la ville.Stéphane
Stéphane Lorin
ParticipantBonjour
pourquoi vouloir faire cela par requête ?
il suffit d’insérer un segment sur votre champ “Ville”Stéphane
Attachments:
You must be logged in to view attached files.Stéphane Lorin
ParticipantBonjour
Dans votre cas il est préférable de mettre dans une plage la liste des noms que vous cherchez et d’y faire référence avec un EQUIV
OU(C2=”CHETIMARI”;C2=”MAINE SOROA”;C2=”CHADAKORI”; C2=”GUIDAN ROUMDJI”; C2=”TILLIA”; C2=”ABALA”;C2=”AYEROU”; C2=”OUALLAM”)
devient
ESTNUM(EQUIV(C2;votre_plage_de_recherche;0))
qui renverra VRAI si C2 est dans la liste et FAUX sinonIl devient alors facile d’ajouter ou de supprimer un élément à cette liste
Sinon, l’utilisation des tableaux est une très bonne pratique Excel et à ce titre fortement conseillée.
Stéphane
Stéphane Lorin
ParticipantBonjour
Avec la mesure précédente dans une colonne calculée “Nb contrats” de la table “Date”, la mesure suivante donne le MAX sur la période
CALCULATE(MAX(Dates[Nb contrats]);ALL(Dates[Date]))le ALL(Dates[Date]) “retire” le filtre sur le champs “Date” mais pas sur les autres champs.
Ainsi s’il y a un champ “Année” et un champ “Mois”, le MAX affiché sera celui de la période choisie et non sur l’ensemble des données.
Stéphane16 octobre 2021 à 17 h 21 min en réponse à : Power Query – Remplacer les erreurs de tout un tableau #96784Stéphane Lorin
ParticipantBonjour
Vous utilisez Table.ColumnNames pour obtenir la liste des colonnes {“Column1”, “Column2”, …}
puis List.Transform(…, each {_, null}) pour convertir cette liste en {{“Column1”, null}, {“Column2”, null},…}ce qui donne
= Table.ReplaceErrorValues(#”Lignes filtrées”, List.Transform(Table.ColumnNames(#”Lignes filtrées”), each {_, null}))Stéphane
Stéphane Lorin
ParticipantBonjour
En décochant cette actualisation en arrière-plan le code de la macro ne se poursuivra que lorsque la requête aura été actualisée.
il n’y a aucun impact sur vos données.
J’utilise cette fonctionnalité sans problème sur de nombreux fichiers.Stéphane
Stéphane Lorin
ParticipantBonjour
Excel est tout a fait capable de gérer 8000 lignes de données.
par contre il est préférable de créer des tableaux et surtout de ne pas faire référence à des colonnes entières dans les formules.
Ainsi votre formule en colonne B devient
=NB.SI.ENS(Données[date début];”<=”&[@Date];Données[date fin];”>=”&[@Date])Sinon avec Power Pivot/Power BI voici une mesure DAX qui compte le nombre de contrat actif dans une période
Nb_contrats:=
VAR Date_Min = MINX(Dates;[Date])
VAR Date_Max = MAXX(Dates;[Date])
RETURN COUNTROWS(FILTER(‘Données’;[date début]<=Date_Max&&[date fin]>=Date_Min))Stéphane
Stéphane Lorin
ParticipantTrès bien, merci de votre retour
Au delà de la mise en forme tableau que je préconisais dans mon message précédent, il peut être intéressant d’utiliser Power Query pour dépivoter vos colonnes XX,YY… afin d’obtenir des données qui soient facile ensuite à analyser avec un Tableau Croisé Dynamique.
La fonction SOMME.SI renvoie le résultat attendu, mais il est toujours utile me semble-t-il de rappeler quelques “bonnes pratiques” régulièrement expliquées par Sophie sur son site.
StéphaneStéphane Lorin
ParticipantBonjour
Je vous propose de remplacer la fin de votre SOMME.SI par un INDEX de vos données avec l’argument “ligne” à 0 (pour récupérer toutes les lignes) et un EQUIV dans l’argument colonne pour déterminer le n° de la colonne XX ou YY…
Cela donne la formule
=SOMME.SI($B$3:$B$11;A17;INDEX($C$3:$D$11;0;EQUIV(B17;$C$2:$D$2;0)))Je préconise l’utilisation des tableaux (avec la colonne “Libellé” en B2)
ce qui donne alors une formule du type
=SOMME.SI(Tableau1[Libellé];A17;INDEX(Tableau1;0;EQUIV(B17;Tableau1[#En-têtes];0)))Stéphane
Stéphane Lorin
ParticipantBonjour
Il m’arrive d’avoir ce message, mais j’ai également des cas où je mets à jour une requête pointant vers un fichier Excel ouvert ; par contre, il ne prend en compte les modifications qu’après enregistrement du fichier source
Vous pouvez peut-être ouvrir vos fichiers dans des sessions Excel distinctes en appuyant sur ALT juste après avoir cliqué sur l’icone Excel ou sur le fichier dans l’Explorateur
Il m’arrive régulièrement d’avoir 2 ou 3 sessions Excel simultanément, l’inconvénient est qu’il n’est pas possible d’écrire des formules entre les sessions ou de faire des copier/coller, mais je peux ouvrir plusieurs Power Query en même temps, c’est parfois pratique
Stéphane -
AuteurMessages