Toutes mes réponses sur les forums

15 sujets de 76 à 90 (sur un total de 143)
  • Auteur
    Messages
  • en réponse à : selectionner la date la plus ancienne #133468
    Xavier Allart
    Participant

    Bonjour

    Voici une proposition :

    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    #”Type modifié” = Table.TransformColumnTypes(Source, {
    {“iD”, type text},
    {“WEC Final-assembly Disp. Start”, type date},
    {“WEC Final-assembly Disp. End”, type date},
    {“WEC Final-assembly Act Start”, type date},
    {“WEC Final-assembly Act End”, type date}
    }),
    P1 = Table.AddColumn(#”Type modifié”, “P1″, each List.Min(List.RemoveNulls({
    [#”WEC Final-assembly Disp. Start”],
    [#”WEC Final-assembly Disp. End”],
    [#”WEC Final-assembly Act Start”],
    [#”WEC Final-assembly Act End”]
    })))
    in
    P1

    Cordialement

    en réponse à : Critères sur 2 tables (ou plus) #133433
    Xavier Allart
    Participant

    je vous propose de fusion des deux tables en utilisant Power Query :

    Étape 1 : Importer vos tables
    Chargez vos tables “Employe” et “Inter” dans le modèle de données.

    Étape 2 : Fusionner les tables
    Assurez-vous que la table “Employe” est sélectionnée.
    Allez dans l’onglet “Accueil” et cliquez sur “Fusionner des requêtes”. Dans le menu déroulant, sélectionnez “Fusionner des requêtes comme nouvelle”.

    Étape 3 : Configurer la fusion
    Une nouvelle fenêtre s’ouvrira pour configurer la fusion. Assurez-vous que la table “Inter” est sélectionnée dans la liste déroulante.
    Sélectionnez la colonne “Matricule” dans les deux tables comme colonne de fusion. Assurez-vous que la correspondance de la colonne est définie sur “Égale”.
    Pour le type de fusion, sélectionnez “Gauche externe”. Cela inclura toutes les lignes de la table “Employe” et seulement les lignes correspondantes de la table “Inter”.

    Étape 4 : Appliquer la fusion
    Cliquez sur le bouton “OK” pour appliquer la fusion. Vous verrez maintenant une nouvelle colonne dans la table “Employe” qui contient les informations de la table “Inter” pour les employés correspondants. Il ne reste plus qu’à la deployer et choisir les colonnes comme “date de départ”

    Cordialement
    Xavier

    en réponse à : Nbre effectifs présents et taux de départ sur 12 mois glissants #132956
    Xavier Allart
    Participant

    Bonjour

    Voici une proposition, comme point de départ
    J’ai fait la supposition qu’il existe une table Calendrier Mensuel avec les champs Début_Mois et Fin_Mois
    Ajouter une table pour calculer par mois : le nombre de présents, et de départs
    Code :
    TablePresentsParDate =
    SUMMARIZECOLUMNS(
    Calendrier[Fin_Mois],
    “Nombre de Présents”,
    CALCULATE(
    COUNTROWS(employes),
    FILTER(
    employes,
    [Date début contrat] <= MAX(Calendrier[Fin_Mois]) &&
    (
    ISBLANK([Date fin de contrat]) ||
    [Date fin de contrat] >= MAX(Calendrier[Fin_Mois])
    )
    )
    ),
    “Nombre de Départs”,
    CALCULATE(
    COUNTROWS(employes),
    FILTER(
    employes,
    [Date fin de contrat] >= MAX(Calendrier[Début_Mois]) &&
    [Date fin de contrat] <= MAX(Calendrier[Fin_Mois])
    )
    )
    )

    Dans cette table ajouter les 4 mesures suivantes
    Cumul Présents sur 12 mois =
    VAR CurrentDate = SELECTEDVALUE(TablePresentsParDate[Fin_Mois])
    VAR DateDebutCumul = SELECTEDVALUE(TablePresentsParDate[Date de Début 12 Mois])

    RETURN
    SUMX(
    FILTER(
    ALL(TablePresentsParDate),
    TablePresentsParDate[Fin_Mois] >= DateDebutCumul &&
    TablePresentsParDate[Fin_Mois] <= CurrentDate
    ),
    TablePresentsParDate[Nombre de Présents]
    )

    Moyenne Présents sur 12 mois =
    VAR CurrentDate = SELECTEDVALUE(TablePresentsParDate[Fin_Mois])
    VAR DateDebutCumul = SELECTEDVALUE(TablePresentsParDate[Date de Début 12 Mois])

    RETURN
    AVERAGEX(
    FILTER(
    ALL(TablePresentsParDate),
    TablePresentsParDate[Fin_Mois] >= DateDebutCumul &&
    TablePresentsParDate[Fin_Mois] <= CurrentDate
    ),
    TablePresentsParDate[Nombre de Présents]
    )

    Cumul Départs sur 12 mois =
    VAR CurrentDate = SELECTEDVALUE(TablePresentsParDate[Fin_Mois])
    VAR DateDebutCumul = SELECTEDVALUE(TablePresentsParDate[Date de Début 12 Mois])

    RETURN
    SUMX(
    FILTER(
    ALL(TablePresentsParDate),
    TablePresentsParDate[Fin_Mois] >= DateDebutCumul &&
    TablePresentsParDate[Fin_Mois] <= CurrentDate
    ),
    TablePresentsParDate[Nombre de Départs]
    )

    Taux départ sur 12 mois =
    DIVIDE([Cumul Départs sur 12 mois],[Moyenne Présents sur 12 mois])

    Cordialement

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Table de jonction et “double filtre” #132950
    Xavier Allart
    Participant

    Bonjour
    Voici une solution en fusionnant les 3 tables en une seule avec Power Quercy

    Sélectionner le tableau TP
    Données > Obtenir des données : depuis un tableau
    Fermer Power Quercy : Fermer et charger > Ne créer que la relation
    Recommencer pour le tableau Cours
    Renommer pour le tableau Jonction, mais ne pas fermer Power query
    Fusionner là avec la table TP
    Accueil > Combiner > Fusionner sur le champ « code TP »
    Développer la colonne TP, pour afficher les champs Intitulé et enseignant
    Recommencer avec la table Cours
    Supprimer les champs Code TP et Code Cours
    Fermer et charger pour revenir dans Excel
    Utiliser des segments et/ou des tableaux croisés dynamiques

    Une autre solution consisterait à nommer les colonnes de façon identique dans les 2 tables
    Code Intitulé Enseignant
    En Power Query,
    Importer les 2 tables
    les ajouter comme nouvelle table
    Dans la colonne code ne conserver que le premier caractère T ou C
    Transformer > Extraire

    Voila 2 idées à voir en fonction de l’usage

    Cordialement

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Création d’un segment temporel (filtre) #132164
    Xavier Allart
    Participant

    Bonjour

    L’erreur que vous rencontrez est due au fait que la colonne ‘calendrier'[calendrier] est de type tableau et qu’elle renvoie plusieurs valeurs, ce qui n’est pas compatible avec une comparaison directe dans le filtre. Pour résoudre ce problème, vous pouvez utiliser la fonction SUMMARIZE pour créer une table virtuelle qui contient les valeurs distinctes de la colonne ‘calendrier'[calendrier] et ensuite effectuer votre filtre sur cette nouvelle table. Voici comment vous pouvez le faire :

    3 Derniers Mois =
    VAR DateMax = MAX(‘calendrier'[calendrier])
    VAR DateMin = EOMONTH(DateMax, -3) + 1
    VAR DatesFiltrees =
    SUMMARIZE(
    ‘calendrier’,
    ‘calendrier'[calendrier],
    “DateFiltree”, IF(‘calendrier'[calendrier] >= DateMin && ‘calendrier'[calendrier] <= DateMax, ‘calendrier'[calendrier])
    )
    RETURN DatesFiltrees

    Dans cette formule, nous utilisons la fonction SUMMARIZE pour créer une nouvelle table virtuelle appelée DatesFiltrees. Cette table contient deux colonnes : ‘calendrier'[calendrier] (qui renvoie les dates distinctes de la colonne calendrier) et une colonne calculée “DateFiltree” qui ne contient que les dates incluses dans les trois derniers mois.

    Cordialement
    Xavier

    en réponse à : Graphique des présents par mois #132161
    Xavier Allart
    Participant

    Bonjour
    En partant de la réponse donnée par Daniel, juste pour le plaisir, je vous propose cette variante :
    La liste des dates (mois année) est crée dans une table qui servira de calendrier. Cette table aura comme bornes la date d’arrivée la plus ancienne et la date de départ la plus récente.

    **Étape 1 : Importer vos données**
    Charger les données, j’ai nommé cette table « Collaborateurs »
    Prénom | Date début | Date fin
    ———–|————|————
    Fred | 01/01/2020 | 01/05/2023
    Tonio | 01/04/2021 | 01/03/2024
    Miranda | 01/12/2020 | 01/12/2023

    **Étape 2 : Créer une table de dates personnalisées**

    Dans l’éditeur Power Query,
    Créer une nouvelle requête vide en sélectionnant “Nouvelle source” > “Requête vide”.
    Renommer là “Dates”
    Passer en éditeur avancé “Accueil” > “Editeur avancé”.
    Copier/Coller le code suivant :
    let
    DateDebut = List.Min(Collaborateurs[Date début]),
    DateFin = List.Max(Collaborateurs[Date fin]),
    NoOfIntervals = (Date.Year(DateFin)*12+Date.Month(DateFin))-(Date.Year(DateDebut)*12+Date.Month(DateDebut)),
    DatesMensuelles = List.Transform({0..NoOfIntervals}, each Date.AddMonths(DateDebut, _)),
    #”Converti en table” = Table.FromList(DatesMensuelles, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #”Type modifié” = Table.TransformColumnTypes(#”Converti en table”,{{“Column1″, type date}}),
    #”Colonnes renommées” = Table.RenameColumns(#”Type modifié”,{{“Column1”, “Date”}})
    in
    #”Colonnes renommées”

    **Étape 3 : Relation entre les tables**
    Dans Power BI Desktop,
    Appliquer les modifications.
    Aller dans l’onglet “Vue de Modèle”.
    S’il existe une relation entre les deux tables, supprimer là.

    **Étape 4 : Créer des mesures DAX**
    Dans Power BI Desktop, aller dans l’onglet “Affichage du rapport”.
    Sélectionner la table ” Collaborateurs ”
    Cliquez sur “Nouvelle mesure” pour créer une mesure DAX qui comptera le nombre de présents pour chaque mois en fonction des dates de début et de fin de vos collaborateurs.
    Copier/Coller le code suivant à la place de “Mesure = ”
    Nombre de Présents =
    COUNTROWS(FILTER(Collaborateurs, [Date début] <= MAX(Dates[Date]) && [Date fin] >= MIN(Dates[Date])))

    **Étape 5 : Créer un graphique**
    Créer un graphique (par exemple, un graphique en colonnes empilées) dans votre rapport.
    Utiliser la mesure “Nombre de Présents” comme valeur de votre axe Y (valeurs) et la colonne “Dates[Dates]” de la table de dates personnalisées comme valeur de votre axe X (catégories).
    En suivant ces étapes, vous devriez être en mesure de créer un graphique mensuel du nombre de présents en fonction des dates de début et de fin de vos collaborateurs en utilisant Power Query et Power BI.

    Attachments:
    You must be logged in to view attached files.
    Xavier Allart
    Participant

    Bonjour
    Voici une solution en utilisant power query et la création de la table regroupée
    1. **Importer les données :** *
    Importez votre fichier Excel contenant les données dans Power BI.

    2. **Transformer les données :**
    Une fois que vous avez importé les données, vous devrez les transformer pour créer les agrégations nécessaires. Cela peut être fait via l’éditeur Power Query dans Power BI.

    3. **Calculer le nombre de nombre de commandes :**
    Vous pouvez le faire en regroupant vos données par magasin et en comptant le nombre de lignes pour chaque groupe.
    Transformer > Re grouper

    4. **Créer des tranches de nombre de commandes :** Ensuite, créez une colonne conditionnelle qui attribue une tranche au nombre de commandes.
    Ajouter une colonne > Colonne conditionnelle

    5. **Agrégation par tranche de nombre de commandes et par magasin :** Vous pouvez le faire en regroupant vos données par Tranche et en comptant le nombre de lignes pour chaque groupe.
    Transformer > Re grouper

    Amicalement

    en réponse à : Scinder une colonne et ranger les éléments contenus par lignes #129751
    Xavier Allart
    Participant

    Bonjour

    Pour pouvoir vous aider, il faudrait transmettre un fichier power bi pour comprendre la structure de vos tables et des visuels créés.

    Cordialements

    en réponse à : Scinder une colonne et ranger les éléments contenus par lignes #129716
    Xavier Allart
    Participant

    Bonjour

    Après avoir fractionné la colonne “legislation”
    Sélectionner les colonnes “legislation.1” , “legislation.2”, …
    Menu Transformer > Depivoter la colonne
    Supprimer la colonne “Attribut”
    Ajouteur une colonne nommer “X” dont la formule serait “=1”
    Sélectionner la colonne “Valeur”
    Menu Transformer > Pivoter la colonne
    Sélectionner la colonne “X” comme colonne de valeurs

    Cordialement,

    en réponse à : Valeur comprise entre deux autres #129686
    Xavier Allart
    Participant

    Bonjour

    N’etant pas sur d’avoir compris le context, voici une propositon :
    Pour effectuer une recherche dans une colonne spécifique et obtenir le nombre total d’enregistrements compris entre deux valeurs dans Power BI, vous pouvez utiliser une mesure personnalisée (DAX) avec la fonction COUNTROWS.

    Voici les étapes pour créer cette mesure :

    Ouvrez votre rapport dans Power BI Desktop.

    Dans la vue “Rapport”, dans la barre de ruban supérieure, Cliquez sur le bouton “Nouvelle mesure” dans le groupe “Calculs”.

    Une barre de formule apparaîtra en haut de l’écran. Vous pouvez lui donner un nom significatif, par exemple “Nombre d’enregistrements entre 124600 et 124799”.

    Utilisez la fonction COUNTROWS pour compter le nombre d’enregistrements qui répondent à votre critère. La formule ressemblera à ceci :

    Nombre d’enregistrements entre 124600 et 124799 = COUNTROWS(FILTER(VotreTable; VotreTable[Colonne] >= 124600 && VotreTable[Colonne] <= 124799))

    Assurez-vous de remplacer “VotreTable” par le nom de votre table réelle et “Colonne” par le nom de la colonne dans laquelle vous souhaitez effectuer la recherche.

    Appuyez sur la touche “Entrée” pour valider la formule.

    Maintenant, vous devriez avoir une mesure qui calcule le nombre total d’enregistrements compris entre les valeurs spécifiées. Vous pouvez l’ajouter à votre tableau de bord ou utiliser cette mesure dans d’autres visualisations pour afficher ce nombre où vous le souhaitez.

    Cordialement

    en réponse à : Réduction de lignes #129531
    Xavier Allart
    Participant

    En power Query
    Sélectionner la colonne Matiere
    Utiliser la commande : Transformer > Remplacer les valeurs
    Valeur à rechercher : Mat
    Remplacer par : Note
    Utiliser la commande : Transformer > Pivoter la colonne
    Colonne de valeur : Note
    Options Avancées : Ne pas agréger

    Voilà
    Cordialement

    en réponse à : Calcul par période #128841
    Xavier Allart
    Participant

    Bonjour
    Voici 2 propostions :
    Tableau 1 : Avec les commandes Pivoter et Depivoter les colonnes
    Tableau 2 : Avec 2 index et fusion de table

    Je vous laisse regarder les requetes power-query dans le fichier Excel.

    Cordialemeny

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Contrôle des livraisons – date suivante #128253
    Xavier Allart
    Participant

    Bonjour

    “les livraisons sont quelquefois incomplètes, en retard ou en avance…”
    Ce qui me pose un problème c’est qu’elles peuvent être en retard ou en avance et je ne vois pas comment arriver au résultat attendu.

    Je propose cette solution nécessitant la mise en place de 2 tables supplémentaires
    : une de calendrier pour avoir toutes les dates pour réaliser des calculs sur une période choisie
    une permettant de mettre en relations les 2 tables HA et réception, cette relation doit être réalisée sur la référence du produit + la taille

    J’ai ajouté 2 mesures DAX
    Controle = DIVIDE(sum(Reception[Qtés]),sum(HA[Qtés]))
    donnant le % pour le mois sélectionné

    Cumul = CALCULATE([Controle],FILTER(ALLSELECTED(DimDate[Date]),DimDate[Date]<=MAX(DimDate[Date])))
    permettant d’avoir % cumulé depuis le début de la période

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Contrôle des livraisons – date suivante #128245
    Xavier Allart
    Participant

    Bonjour

    voir l’iamge
    Je pense avoir compris les 3 premieres cas suivants :
    Pour une date de livraison / Cadence de la table HA, on cherche les livraisons dans la table Reception

    Mais pour le cas suivant, la date de reception est avant la livraison
    ref Taille 03/11/2023 28/10/2023 Attendu
    SICSH23305 40–41 5 5 5/5

    Et dans le cas suivant, la date de reception est avant la livraison et on compte les non livrés
    ref Taille 03/11/2023 28/10/2023 Attendu
    SICSH23305 42–43 5 2 3/5

    Je pense avoir besoin de plus d’explications
    Cordialement

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Fusionner des lignes décalées #127944
    Xavier Allart
    Participant

    En powerquery
    Séléctionner les 2 colonnes de dates
    Commande : Transformer : Dépivoter les colonnes
    Séléctionner la colonne “Attribut”
    Commande : Transformer : Pivoter la colonne
    colonne de valeurs : Valeur
    Options avancées : Ne pas agréger

    Cordialement
    Xavier

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