Reply To: Direct Query / Mode importer

  • Jeremy

    Member
    27 février 2023 at 8h06

    Bonjour Alexandre,

    En général, le message arrive lorsqu’on perd le Query Folding, lorsqu’une action ne peut pas être interprétée dans la requête SQL correspondante.

    Dans le cas que je vois, il faut récupérer le numéro de mois sur deux caractère sur une colonne de type DateTime. La solution est d’ajouter une colonne avec la fonction Date.Month. (ou aller dans : Ajouter une colonne > Date > Mois > Mois).

    En faisant un clic droit sur l’étape puis en cliquant sur “Afficher la requête native”, tu peux voir la requête SQL qui correspond.

    Ce qui donne : datepart(“m”, [_].[neo_date]) as [Mois]

    Dans ton cas, l’option “Requête native” était grisée, ce qui signifie que tu avais perdu le “Query Folding” (correspondance automatique avec le langage SQL).

    Enfin, si tu veux garder les 2 caractères du mois, une autre solution pourrait être (liste d’étapes) :

    • Modifier le type en Date

    • Modifier le type en Texte (en ajoutant une étape)

    • Extraire la plage de texte (index de départ : 5, nb caractères : 2)

    Voici le code (avec mes données) :

    // Extraire les deux caractères du mois d'une colonne date
        #"Mettre au format date" = Table.TransformColumnTypes(#"Mois inséré",{{"neo_date", type date}}),
        #"Mettre au format texte" = Table.TransformColumnTypes(#"Mettre au format date",{{"neo_date", type text}}),
        #"Extraire les 2 caract." = Table.TransformColumns(#"Mettre au format texte1", {{"neo_date", each Text.Middle(_, 5, 2), type text}})

    Le tout est de toujours trouver le moyen de contourner quand cela est possible.

    CommentID=vCmanl2Wk0tzmgP, PostID=UlP9q03yqXjmsbh