Toutes mes réponses sur les forums

15 sujets de 76 à 90 (sur un total de 283)
  • Auteur
    Messages
  • en réponse à : Comment insérer une année variable dans un nom de colonne filtrée? #99507
    Stéphane Lorin
    Participant

    Bonjour

    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

    en réponse à : Problème de cardinalité – Doublons #99421
    Stéphane Lorin
    Participant

    Bonjour

    Utilisez une matrice pour détecter votre doublon

    Stéphane

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Heure moyenne de fin de traitement #99416
    Stéphane Lorin
    Participant

    Bonjour

    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

    en réponse à : Heure moyenne de fin de traitement #99395
    Stéphane Lorin
    Participant

    Bonjour

    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

    en réponse à : Format Power Query #98395
    Stéphane Lorin
    Participant

    Bonjour

    Avez-vous essayé le type “any” ?
    mais j’avoue ne pas bien comprendre votre question

    sur le fond, on ne mélange pas des données de types différents dans un même champ.

    Stéphane

    en réponse à : fonction générant autres requêtes #97275
    Stéphane Lorin
    Participant

    Bonjour
    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

    en réponse à : fonction générant autres requêtes #97217
    Stéphane Lorin
    Participant

    Bonjour

    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.
    en réponse à : Fonctions SI.CONDITIONS et SI.MULTIPLE #97216
    Stéphane Lorin
    Participant

    Bonjour

    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 sinon

    Il 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

    en réponse à : nb de personnes présente #97116
    Stéphane Lorin
    Participant

    Bonjour

    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éphane

    en réponse à : Power Query – Remplacer les erreurs de tout un tableau #96784
    Stéphane Lorin
    Participant

    Bonjour

    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

    en réponse à : Actualisation #96761
    Stéphane Lorin
    Participant

    Bonjour
    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

    en réponse à : nb de personnes présente #96760
    Stéphane Lorin
    Participant

    Bonjour

    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

    en réponse à : tableau à double entrée #95763
    Stéphane Lorin
    Participant

    Trè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éphane

    en réponse à : tableau à double entrée #95760
    Stéphane Lorin
    Participant

    Bonjour

    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

    en réponse à : Mise à jour des requêtes #95305
    Stéphane Lorin
    Participant

    Bonjour

    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

15 sujets de 76 à 90 (sur un total de 283)