Actualisation Power BI Service de données dynamiques

  • Actualisation Power BI Service de données dynamiques

    Posté par gregory sur 8 mars 2024 à 13h47

    Bonjour à tous,

    Dans le cadre d’un projet, j’ai utilisé la méthode du scrapping pour me connecter à toutes les pages d’un site web relatives à un catalogue de produits.

    Tout a fonctionné sur Power Query, l’actualisation marche aussi.

    En revanche, quand je souhaite paramétrer l’actualisation sur Power BI Service, il m’est indiqué que : “Ce jeu de données inclut une source de données dynamique. Dans la mesure où les sources de données dynamiques ne sont pas actualisées dans le service Power BI, ce jeu de données ne sera pas actualisé.”

    Je comprends que dans ce type de configuration, seule la manipulation manuelle via Power Query est possible pour son actualisation. Mais connaissez-vous une méthode pour paramétrer tout de même ce type d’actualisation sur Power BI Service?

    Merci beaucoup,

    Cordialement,

    gregory a répondu Il y a 4 mois, 2 semaines 2 Membres · 3 Réponses
  • 3 Réponses
  • Jonathan

    Membre
    8 mars 2024 à 15h46

    Bonjour,

    Il faut coder la fonction Power Query de manière différente. Il faut également s’assurer que la confidentialité des données soit correctement paramétrée. Parfois c’est simplement le choix du connecteur web qui ne fonctionne pas. Si par contre vous récupérez directement la page web (en HTML), il y a de fortes chances que ça ne marche pas. Il me semble qu’en rajoutant une passerelle de données ça pourrait fonctionner.

    Voyons d’abord le code 🙂 Pouvez-vous copier coller le code de la requête M afin que l’on puisse mieux vous aider.

    Merci et à plus tard,

  • gregory

    Membre
    8 mars 2024 à 16h17

    Merci beaucoup Jonathan pour votre retour.

    J’ai utilisé le code suivant dans l’éditeur avancé :

    (Page as number)as table =>
    let
    Source = Web.BrowserContents(“https://www.xxx.com/fr-fr/y-y-y/z-z-z?page=”&Number.ToText(Page)&””),
    #”Table extraite à partir de code Html” = Html.Table(Source, {{“Column1”, “.ElementLeaf_elementTitle__xda82”}, {“Column2”, “.iEGSLL”}, {“Column3”, “.kkcaWu *”}, {“Column4”, “.ElementLeaf_bestseller__VqF1Z”}, {“Column5”, “.iQSPiR”}}, [RowSelector=”.ElementsList_leaf__3tVNf”]),
    #”Type modifié” = Table.TransformColumnTypes(#”Table extraite à partir de code Html”,{{“Column1”, type text}, {“Column2”, type text}, {“Column3”, type text}, {“Column4”, type text}, {“Column5”, type text}})
    in
    #”Type modifié”

  • gregory

    Membre
    11 mars 2024 à 10h43

    Bonjour à tous,

    J’ai modifié ma méthode ce week-end en me connectant au site (via le connecteur web) puis en créant un paramètre sur la partie du lien à modifier pour pouvoir scraper.

    J’ai ensuite créé une table en lien avec ce paramètre contenant toutes les parties de lien nécessaires à mon étude.

    Et en appelant une fonction personnalisée, je vais chercher sur la table nouvellement créée l’ensemble des données du site web, page par page.

    Le rendu est nickel sur Power BI Desktop, il s’actualise sans problème aussi.

    En revanche, impossible de gérer une actualisation sur Power BI Service, toujours au motif suivant : “Ce jeu de données inclut une source de données dynamique. Dans la mesure où les sources de données dynamiques ne sont pas actualisées dans le service Power BI, ce jeu de données ne sera pas actualisé. En savoir plus : https://aka.ms/dynamic-data-sources.”

    Connaissez-vous une possibilité d’automatiser l’actualisation via Gateway ou en scrapant différemment peut être, ou encore une autre méthode que j’ignore à ce jour? 🙂

    Un grand merci pour votre aide!

    Bonne semaine à tous!

    Grégory

Connectez-vous pour répondre.