Toutes mes réponses sur les forums

15 sujets de 91 à 105 (sur un total de 121)
  • Auteur
    Messages
  • en réponse à : PBI – créer une table à partir de deux tables existantes #106941
    Daniel
    Participant

    Bonjour Ina, Le Forum,

    J’aurais tendance à utiliser Power Query pour arriver à constituer cette table de numéro de commandes uniques et ce à partir des requêtes déjà existantes des deux tables contenant vos données. En effet, on peut ajouter des données à la 1ère table à partir des données de la seconde table avec le menu Accueil Ajouter des requêtes, Ajouter des requêtes comme étant Nouvelles (choisir la 1ère table, puis la seconde), Il est important que les colonnes aient le même nom pour qu’elles soient ajouter correctement sinon cela créera des nouvelles colonnes, de toute façon cela va créer une troisième requête d’où vous pourrez supprimer les colonnes non nécessaires et ensuite supprimer les doublons de la colonne désirée.
    N’étant pas suffisamment compétent en DAX, je ne sais pas si cela est possible de combiner deux tables existantes en une seule pour ensuite parvenir au résultat escompté.
    Cordialement
    Daniel

    en réponse à : Caractères avec points d’interrogation à modifier #106865
    Daniel
    Participant

    Bonjour Magali, Le Forum,
    Je n’ai malheureusement pas pu trouver une solution/idée pour résoudre ce problème d’accent. Je suis aussi passé par le Notepad++ et j’ai essayé différents types d’encodage (je ne suis pas un expert) sans arriver à retrouver les caractères accentués correctement. Je pense qu’il faudrait regarder comment ont été extraites ces données et voir si on ne peut pas faire quelque chose à ce niveau. D’autres colonnes sont aussi impactées par ce problème (Consignor Name, Consignee Name, Client Name MDM par exemple). Cela se concentre sur trois destinations (Czech, Latvia et Romania mais avec une seule source Rakotrans), si tu reçois un fichier par source, ce serait bien d’investiguer de ce côté pour voir si il est possible de modifier l’import de cette source.
    J’espère que tu auras plus de chances avec le Notepad++ que moi avec lui.
    Cordialement
    Daniel

    en réponse à : Caractères avec points d’interrogation à modifier #106771
    Daniel
    Participant

    Bonjour Magali, Le Forum,

    Est-ce que le fichier excel reprend aussi les points d’interrogation ? Je pense que cela vient d’un problème d’encodage surtout si la source de ce fichier provient d’un fichier CSV. Est-ce que tu peux vérifier si l’enregistrement sous excel est bien dans le bon format d’encodage (Fichier, Enregistrer sous, Outils, Option Web, Codage là on peut changer le format d’encodage.
    Pas certain que cela règle ton soucis, mais c’est une piste à explorer.
    Cordialement
    Daniel

    en réponse à : erreur fonction condition langage M #106727
    Daniel
    Participant

    Bonjour Deltacta, Le Forum,
    Alors puisque j’ai bien compris, ma proposition fait ce que tu souhaites reproduire depuis Excel mais en Power Query.
    Value.Type([Data]) retourne le type de données contenue dans la colonne D, exemple : SOL10 est de type Text, 10 est de type numérique
    Number.Type correspond à une valeur numérique
    donc si la colonne D contient 10 : Value.Type([Data])=Number.Type retourne TRUE, d’ou le IF Value.Type([Data])=Number.Type then “GARE” else (cas des valeurs texte)Text.Upper(Text.Start(_,3))
    Text.Start prend les trois premiers caractères de la chaîne de texte contenu dans la colonne D et Text.Upper les passent en majuscules.
    Espérant avoir pu t’aider à résoudre ton problème.
    Cordialement
    Daniel

    en réponse à : erreur fonction condition langage M #106508
    Daniel
    Participant

    Bonjour Deltacta, Stephane, Le Forum,

    Autre façon de faire, si l’on accepte que les données de la colonne d’origine soient directement modifiées, l’utilisation de la fonction Table.TransformColumns fait aussi le job avec les mêmes fonctions de transformations et de test.

    = Table.TransformColumns( #”Personnalisée ajoutée”, {{“Data”, each if Value.Type(_)=Number.Type then “GARE” else Text.Upper(Text.Start(_,3))}})

    Cordialement
    Daniel

    en réponse à : erreur fonction condition langage M #106507
    Daniel
    Participant

    Bonjour Deltacta, Stephane, Le Forum,

    Si j’ai bien compris les valeurs numériques doivent êtes transformées en “GARE” et les autres valeurs on doit prendre les trois premiers caractères et les transformés en Majuscules, si c’est bien cela le code suivant fera le job.

    Début du code de la requête
    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    #”Type modifié” = Table.TransformColumnTypes(Source,{{“Data”, type any}, {“Result visé”, type text}}),
    #”Personnalisée ajoutée” = Table.AddColumn(#”Type modifié”, “Result Power Query”, each if Value.Type([Data])=Number.Type then “GARE” else Text.Upper(Text.Start([Data],3)))
    in
    #”Personnalisée ajoutée”
    Fin du code de la requête

    Cordialement
    Daniel

    en réponse à : Recherche jeu de données villes du monde #106283
    Daniel
    Participant

    Magali, Le Forum,
    Je pense que pour ce qui est de la France, on peut se servir de l’arrondissement pour créer le code postal Insee 75120 pour le 20ème arrondissement et ensuite faire le lien avec le fichier de correspondance pour avoir 75020, ce sera à faire avec les villes comportant des arrondissements (Lyon, Marseille, …). Je n’ai pas trouvé d’autres sites évitant cette manipulation pour avoir nos codes postaux, les autres pays sont certainement dans le même cas.
    Cordialement
    Daniel

    en réponse à : Recherche jeu de données villes du monde #106281
    Daniel
    Participant

    Bonjour Magali, Le Forum,
    Effectivement, il faut traduire le code Insee en code postal et avec le lien ci-après ce sera possible au moins pour la France.
    https://public.opendatasoft.com/explore/dataset/correspondance-code-insee-code-postal/table/?flg=fr
    Cordialement
    Daniel

    en réponse à : Recherche jeu de données villes du monde #106274
    Daniel
    Participant

    Magali,
    Le fichier n’est pas passé, je retente en format CSV, ai supprimé quelques lignes afin de respecter la taille de 2MO
    Cordialement
    Daniel

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Recherche jeu de données villes du monde #106273
    Daniel
    Participant

    Bonjour Magali, Le Forum,
    J’ai fait un essai sur la France à partir du site cité dans mon post précédent et je te livre en pièce jointe le résultat, à toi de voir si il y a des manques ou si cela peut servir dans le cadre de ton projet.
    Cordialement
    Daniel

    en réponse à : Recherche jeu de données villes du monde #106246
    Daniel
    Participant

    Bonjour Magali, Le Forum,
    En cherchant sur le Net, j’ai trouvé ce site https://download.geonames.org/export/dump/ qui pourrait répondre moyennant certaines transformations des données à ta demande (pas certain que toutes les villes soient reprises mais il y en a déjà beaucoup). Un fichier ZIP par pays contenant un fichier txt et un fichier Readme.txt et il y a aussi un fichier AllCountries.
    Attention, la colonne Admin4col correspond au code ISO postal et non au code postal connu, mais il a moyen d’ajouter une autre colonne en trouvant la correspondance entre ces deux codes.
    Cordialement
    Daniel

    Daniel
    Participant

    Bonjour Magali, Le Forum,
    Je reviens sur ma dernière proposition qui fonctionne correctement, j’ai cherché d’autres solutions que je te propose dans le fichier joint.
    J’ai essayé de mettre quelques explications en espérant que cela t’aidera.
    Cordialement
    Daniel

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Fonction pour remplacer des caractères dans le texte d’une colonne #106121
    Daniel
    Participant

    Bonjour Magali, Le Forum,
    Je reviens sur la requête envoyée dans mon premier post, je l’ai modifié afin de répondre à ta dernière question (par contre ne connaissant pas les modifications que tu as pu apporter entre-temps, tu seras obligée de les refaire).
    J’ai gardé la fonction fnEnleverAccents et j’ai ajouté des étapes pour remplacer les “Ste” en “Sainte” et “St” en “Saint” (tu les trouveras dans l’étape nommée “ListeDeListes”, et tu pourras en ajouter d’autres si besoin). J’ai aussi utilisé la fonction Power Query “Text.Trim” qui supprime les espaces devant et derrière une chaîne de caractères (voir étape “MettreVillesEnListe”) en complément de la fonction Text.Split qui découpe la chaîne de caractères en fonction d’un séparateur (en l’occurrence l’espace).
    Dans l’étape “RemplacementsAFaire”, j’ai remis le tiret comme séparateur mais si tu le souhaites tu peux le remplacer par un espace.

    Code de la requête
    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    RenommerColonneVilles = Table.RenameColumns(Source,{{“Villes”, “Villes Origine”}}),
    AjoutColonneVillesTmp = Table.AddColumn(RenommerColonneVilles, “Villes_tmp”, each fnEnleverAccents([Villes Origine])),
    ListeDeListes = {
    {“Ste”,”Sainte”},
    {“St”,”Saint”}
    },
    MesVilles = AjoutColonneVillesTmp,
    MettreVillesEnListe = Table.AddColumn(MesVilles, “Custom”, each Text.Split(Text.Trim([Villes_tmp]), “-“)),
    RemplacementsAFaire = Table.AddColumn(MettreVillesEnListe, “Villes”, each Text.Combine(List.ReplaceMatchingItems([Custom],ListeDeListes),”-“)),
    SuppressionAutresColonnes = Table.SelectColumns(RemplacementsAFaire,{“Villes”})
    in
    SuppressionAutresColonnes
    Fin du code de la requête

    En espérant avoir répondu correctement à ta demande
    Cordialement
    Daniel

    en réponse à : Fonction pour remplacer des caractères dans le texte d’une colonne #106109
    Daniel
    Participant

    Bonjour Magali, Le Forum,
    Et en utilisant la fonction Text.Proper sur la colonne Villes, est-ce que ton problème est résolu ?
    Pour bien comprendre comment souhaiterais-tu que soit écrit “La Seyne-sur-Mer”, est-ce que c’est comme cela que tu le souhaites “La seyne-sur-mer”. Aurais-tu des exemples ?
    Cordialement
    Bon Week-end à tous
    Daniel

    en réponse à : Fonction pour remplacer des caractères dans le texte d’une colonne #106051
    Daniel
    Participant

    Bonjour Magali,

    Ayant déjà été confronté à ce problème, je l’ai résolu par une fonction qui peut me servir pour d’autres tâches de ce type, cela fonctionne mais il y a certainement d’autres manières de faire.
    En pièce jointe, l’exemple et bien sur la fonction utilisée.

    Début Fonction
    let
    Source = (MonTexte as text) =>
    let
    ListeAccents =
    {
    {“à”,”a”},
    {“á”,”a”},
    {“â”,”a”},
    {“ã”,”a”},
    {“ä”,”a”},
    {“å”,”a”},
    {“è”,”e”},
    {“é”,”e”},
    {“ê”,”e”},
    {“ë”,”e”},
    {“ì”,”i”},
    {“í”,”i”},
    {“î”,”i”},
    {“ï”,”i”},
    {“ò”,”o”},
    {“ó”,”o”},
    {“ô”,”o”},
    {“õ”,”o”},
    {“ö”,”o”},
    {“ø”,”o”},
    {“ù”,”u”},
    {“ú”,”u”},
    {“û”,”u”},
    {“ü”,”u”},
    {“ů”,”u”},
    {“È”,”E”},
    {“É”,”E”},
    {“Ê”,”E”},
    {“Ë”,”E”}
    }
    in
    Text.Combine(List.ReplaceMatchingItems(Text.ToList(MonTexte), ListeAccents))
    in
    Source

    Fin Fonction

    Ensuite créer une colonne personnalisée et écrire fnEnleverAccents([Ville Origine]) ou fnEnleverAccents est le nom de la fonction et [Ville Origine] est le nom de la colonne qui contient les caractères accentués.

    Text.ToList(MonTexte) : crée une liste contenant chaque caractères de la ville
    List.ReplaceMatchingItems(Text.ToList(MonTexte), ListeAccents) : remplace les différents caractères de Text.ToList(MonTexte] par les items de ListeAccents
    et Text.Combine : remet les différentes parties du teste en un seul mot

    Pas certain d’avoir été clair dans mes explications, mais cela fonctionne correctement pour moi.
    Cordialement
    Daniel

    Attachments:
    You must be logged in to view attached files.
15 sujets de 91 à 105 (sur un total de 121)