Problème d’update de données volumineuses (200k+ lignes) dans Dataverse

  • Problème d’update de données volumineuses (200k+ lignes) dans Dataverse

    Posté par Yanis sur 21 avril 2025 at 2h42

    Bonjour à tous,

    Je rencontre un défi concernant l’actualisation mensuelle d’une table d’environ 200 000 lignes dans mon Dataverse (Teams) depuis un fichier Excel. Cette table alimente une application Power Apps (Canvas).

    Initialement, j’ai pu téléverser les données manuellement, mais le processus d’actualisation mensuelle nécessite une approche plus automatisée. J’ai tenté de construire des flows avec Power Automate, mais je me heurte à la limite des 5000 itérations de l’action “Apply to each”. J’ai une license non premium.

    Auriez-vous des idées ou des stratégies pour contourner cette limitation et automatiser l’actualisation de cette quantité de données dans Dataverse ? Existe-t-il des approches alternatives ou des connecteurs plus adaptés à ce volume ?

    Merci d’avance pour votre aide !

    Cordialement,

    Yanis

    Alexandre a répondu 2 days, 10 hours ago 4 Membres · 7 Réponses
  • 7 Réponses
  • DavidZed

    Member
    21 avril 2025 at 10h53

    Bonjour,

    Avec une telle volumétrie, les options en licence standard sont très limitées avec de l’automatisation.

    Il est possible de contourner la limite des 5k occurrences en simulant une pagination avec une boucle “do until”, mais tu risques de te heurter à une autre limite, celle du nombre d’API Call quotidien.

    Pour mettre a jour un tel volume de données sur Dataverse for Teams, l’idéal est de passer par un dataflow, mais il n’est pas possible de planifier leur execution (ce qui est possible avec Dataverse)

  • R3dKap

    Member
    22 avril 2025 at 14h30

    @DavidZed,

    Je pense à un truc : et planifier le lancement du dataflow via un flux ?

  • DavidZed

    Member
    22 avril 2025 at 20h22

    @redkap J’y avais pensé, mais il me semblait que le connecteur était premium, or ce n’est pas le cas 🙂

    A essayer avec ce dernier ici

  • Alexandre

    Member
    22 avril 2025 at 20h36

    Hello,

    Effectivement de mon côté j’industrialise mes imports massifs de données via des dataflows. Mon scénario est le suivant :

    1/ dépot d’un fichier référentiel par un tiers sur une biblio sharepoint

    2/ détection du dépôt via power automate puis archivage du fichier dans un répertoire de travail et lancement de l’exécution du DF

    3/ le power query de mon DF est configuré pour récupérer le fichier sur le chemin attendu avec le nom attendu, il procède à l’insertion (en mode update ou non) dans mes tables Dataverse

    4/ (ou 2/ bonus) j’utilise le trigger de fin de chargement de dataflow dans le même flux pour (on peut effectivement utiliser le déclencheur en plein milieu du flux) afin de faire mes posts traitements si besoin (nettoyage de fichier, logs d’exécution etc…). Cela peut aussi être réalisé dans un autre flux à part entière.

    Le plus gros inconvénient pour les dataflows est l’ALM. A chaque livraison de ces dataflows sur un nouvel environnement tu devras les reconfigurer pour qu’ils utilisent les bonnes sources (pour configurer des sharepoints différents selon tes environnements)

    • This reply was modified 2 days, 21 hours ago by  Alexandre. Reason: précision sur les inconvénients des dataflows
  • R3dKap

    Member
    22 avril 2025 at 20h53

    Oh pinaiz, le coup du trigger au milieu du flux jamais j’y aurais pensé… Ca laisse entrevoir des trucs intéressants… 😋

  • Yanis

    Member
    23 avril 2025 at 2h51

    Bonjour,

    Merci beaucoup pour vos réponses et pour le partage de l’approche avec les dataflows. Je vais essayer cette méthode.

    J’ai juste une dernière question : comment puis-je m’assurer du succès de l’importation, surtout pour un fichier aussi volumineux ? Lors de la phase de développement, j’ai effectué des imports manuels avec PowerQuery directement depuis PowerApps sur Teams et j’avais l’impression que le succès du dataflow était parfois aléatoire. Auriez-vous des conseils pour maximiser la probabilité de succès du dataflow ?

    Merci encore pour votre aide !

  • Alexandre

    Member
    23 avril 2025 at 7h35

    Pour maximiser les chances du dataflow il y a d’abord l’elaboration d’un contrat d’interface entre le producteur des données (celui qui constitue le fichier) et le consommateur (ton datafloW) : il s’agit de décrire l’attendu en terme de colonnes, de types de données, de format de fichier etc… Il ne faut pas que le producteur modifie le contenu et le consommateur sait alors ce qu’il doit respecter et donc les étapes de traitement à réaliser dans les queries. Il faut aussi définir ce que représentent les données (mises a jour ou “annule et remplace”)

    Ensuite il faut surveiller la bonne exécution de ton dataflow. Plusieurs critères entrent en compte : fréquence de mise à jour, durée d’exécution, est-ce que plusieurs tables sont mises a jour avec le même dataflow etc… Soit tu le fais toi dans le cadre d’un maintien en situation opérationnelle. Soit c’est une autre structure. Il faut que les dataflow soient tous avec un compte spécifique (le owner du dataflow) car seul le propriétaire peut avoir accès à ses dataflows. Autre possibilité, tu fais une ihm ou un powerbi qui va recuperer les historiques d’exécution dans les tables ‘dataflow’ et ‘refreshEntityHistory’. C’est loin d’être simple car non documenté ça peut donc être modifié n’importe quand par Microsoft etc… Mais ça fonctionne

Connectez-vous pour répondre.