Lignes doublées import SQL

Étiquetté : 

  • Lignes doublées import SQL

    Posté par StevannS sur 10 juillet 2023 à 22h28

    Bonjour, lorsque je charge les valeurs dans powerBI, je m’aperçois que les valeurs de ma vue SQL sont doublées. Je ne comprends pas pourquoi ? La requête programmée : Merci de votre aide (du coup j’ai mis un distinct, mais je ne suis pas convaincu…

    create view EDV_View_2 as

    select

    Domain, TRENDTABLE1.Description, Quality, Threshold,

    CONVERT(date , [TS]) as Date_1,

    CONVERT(time,[TS]) as Heure_1,

    COALESCE(

    [Value] – LAG([Value], 1) OVER (PARTITION BY [Name] ORDER BY [TS])

           ,0) AS Difference_Conso,

    Feuil1$.CPT, Feuil1$.PIV,TRENDTABLE1.Chrono,

    CASE WHEN [Nature] = ‘CVC’ THEN ‘EDV’ ELSE ‘Non défini’ END AS Nature_Consolidée

    from [TRENDTABLE1]

    JOIN [Feuil1$]

    ON TRENDTABLE1.Description = Feuil1$.Description

    WHERE TRENDTABLE1.Description like ‘%eau%’ and TRENDTABLE1.Description like ‘%volume%’

    PostID=apjcFKO3Lo0Zt3I

    StevannS a répondu Il y a 11 mois, 4 semaines 1 Membre · 6 Réponses
  • 6 Réponses
  • ypicot

    Membre
    11 juillet 2023 à 17h19

    Bonjour

    Difficile de répondre de manière précise sans avoir un exemple de données, mais dans tous les cas, le pb des lignes dupliquées vient du JOIN avec des tables qui ont une cardinalité 1 à N (en d’autres termes : une ligne d’une table est en relation avec plusieurs lignes de l’autre table).

    Cela peut effectivement se résoudre avec un DISTINCT dans de très nombeux cas.

    CommentID=vBDfJtYxYcQp7sT, PostID=apjcFKO3Lo0Zt3I

  • StevannS

    Membre
    31 juillet 2023 à 11h40

    Merci !! J’ai contourné le pb en passant dans powerquery : j’ai ainsi pu éviter de charger ma table dans SQL avec laquelle je faisais un JOIN. Plus de pb de doublon, ce qui m’a également facilité la MAJ dynamique de cette dernière. Sujet clos donc. Merci encore.

    CommentID=YU8pFap7aYeCNWB, PostID=apjcFKO3Lo0Zt3I

  • ypicot

    Membre
    3 août 2023 à 20h28

    Bonjour

    Passer par PQY est effectivement une solution possible, mais attention si tu as de gros volumes de données. D’une manière générale (il y a toujours des cas particuliers), plus tu fais tes traitements près de la BdD (donc, idéalement dans la BdD), plus lesdits traitements seront efficaces.

    Après, si tu as moins de 100 000 lignes, tu te moques un peu de l’efficacité.

    CommentID=etTbcSTRPr4l8UR, PostID=apjcFKO3Lo0Zt3I

  • StevannS

    Membre
    4 août 2023 à 13h57

    Bonjour, oui le set fait 12 M de lignes… mais je ne voyais pas comment résoudre mon souci de JOIN. Par ailleurs, je joignais une table qui peut nécessiter des MAJ ponctuelles sachant que l’import de cette table dans SQL n’est pas dynamique, contrairement à powerQuery. Ou je ne sais pas faire un tel import dans SQL… 😢

    CommentID=kupmeFujGRpBfts, PostID=apjcFKO3Lo0Zt3I

  • ypicot

    Membre
    7 août 2023 à 7h52

    Bonjour

    Hélas, difficile de te répondre sans avoir le nez sur ton poste pour regarder exactement quel est le contexte dans lequel tu travailles. Il y a tellement de “petites choses” (emplacement des données, puissance du serveur, nature des traitements, fréquence d’actualisation des données, …).

    Au moins, si j’ai bien compris, tu as résolu ton pb. Et 12M de lignes, cela reste relativement gérable si tu es connecté à une BdD (moins si tu es en CSV, mais c’est une autre histoire).

    CommentID=B2QN0vcEhn0kcqm, PostID=apjcFKO3Lo0Zt3I

  • StevannS

    Membre
    7 août 2023 à 10h42

    Je suis bien en BDD SQL. Merci pour ton aide précieuse. Bonne journée

    CommentID=QARwlAtm6KtZW8O, PostID=apjcFKO3Lo0Zt3I

Connectez-vous pour répondre.