Historisation de mesures dans une table Snapshot

  • Historisation de mesures dans une table Snapshot

    Posté par Johan sur 23 janvier 2025 à 14h35

    Bonjour,

    Chaque semaine, à l’actualisation de mes données, je calcule pour plusieurs activités, un stock de dossiers restant à traiter et un délai (calculé entre la date du dossier le plus ancien et le vendredi de la semaine précédant cette actualisation [faite en général le mardi]).

    De semaine en semaine, ces 2 mesures (délai et stock) évoluent.

    Je souhaiterai pouvoir “historiser” les mesures afin de les “figer” à une situation donnée (chaque semaine). Me permettant de retrouver la donnée à une situation antérieure.

    En interrogeant ChatGPT, il semble qu’une table de Snapshot soit la solution. En recherchant sur internet, je ne trouve pas de documentations, d’exemples en lien avec avec ce sujet. Et mon niveau en Power BI ne me permet pas hélas de comprendre les explications théoriques de ChatGPT.

    Quelqu’un d’entres vous saurait-il me renseigner sur ce sujet, voire me confier un exemple, m’oreinter vers une documentation, ainsi j’arriverai peut être à atteindre mon but ?

    Je vous remercie vivement par avance, de l’appui que vous pourrez m’apporter.

    Cordialement,

    Johan

    • Cette discussion a été modifiée Il y a 2 semaines, 2 jours par  Johan.
    Denis a répondu Il y a 4 heures, 22 minutes 4 Membres · 13 Réponses
  • 13 Réponses
  • Denis

    Membre
    23 janvier 2025 à 14h56

    Quasi-débutant sur Power BI et en pleine recherche sur ce sujet également !
    Je pense que nous souhaitons tous les deux que ce soit automatisé à chaque refresh.
    On me dit que c’est faisable dans Fabric via les pipelines de données, mais j’espère qu’il y a plus simple…je sors le🍿!

  • Sophie

    Membre
    23 janvier 2025 à 15h27

    Bonjour,

    Je suis passée par une Flow Power Automate construit ainsi:

    Au final dès que mon rapport se rafraichit, le flux va lancer une requête DAX dans mon rapport qui me génère une table avec tous mes KPI résumés (en gros c’est le code DAX récupéré chez moi via le menu DAX query view qui me génère une table qui au final n’existe nulle part dans mon modèle, unue fois que cette requête DAX me donne le bon modèle de données je colle le code dans le trigger “run a query against a dataset”. Ci dessous le test fait via DAX query view.

    Ensuite dans mon flux je génère un nouveau fichier csv dans un dossier sharepoint, qui sera alors rechargé au prochain refresh dans mon rapport.

    Mais je suppose que l’on peut très bien faire ajouter des lignes à un fichier existant en ajoutant une colonne “date” dans le fichier qui serait “=utcNOW()”.

    J’ai fait différemment à l’époque car cela me semblait plus facile et je mets la date dans le nom du fichier csv et power query me la colle ensuite en date de KPI, ci dessous les fichiers créés:

    La table historique ensuite générée via power query dans mon rapport en chargeant et combinant les CSV:

    Il y a peut-être plus simple, et cela implique pas mal de restrictions également ensuite pour lier cette table à d’autres tables de dimension de mon modèle (je ne peux pas retrouver le détail de chaque status dans le passé, je n’ai que le chiffre) mais n’ayant pas trouvé mieux à l’époque j’ai fait ça et depuis ça tourne. J’avais même une condition task qui me déplaçait les fichiers CSV si 2 fichiers étaient générés le même mois pour ne garder que le plus récent, histoire de ne pas doubler/tripler mes valeurs dans mon rapport.

  • Thibault

    Membre
    23 janvier 2025 à 16h20

    Bonjour à tous,

    Bien vu le fichier CSV généré par PowerAutomate!

    j’ai un besoin similaire et pour cela j’ai créé :

    1. Une base de données locale via SQL Server avec une table qui contient mes champs + 1 champt dateAjout
    2. Un script Python (merci ChatGPT) qui lit dans ma table SQL source Azure (mon ERP) les données voulues et les écrit dans ma base SQL locale
    3. Une tâche dans windows pour que cela se fasse tous les 1er du mois sur mon poste.

    Si ça peut aider.

  • Sophie

    Membre
    23 janvier 2025 à 16h33

    oui cela semble plus simple en effet.

    Mais je n’ai pas d’accès à un serveur SQL, mes KPI sont générés, calculés dans power bi, il faut donc que je les récupère dans mon rapport.

    et mes connaissances en python frôle le plancher, hormis un petit “Hello world” 😅 réussi un jour je ne sais comment.

    Donc je fais avec les outils “grand public”.

    tu as un flux power automate desktop qui se lance sur ta machine tous les lundis?

    je n’ai pas pu planifier le mien (il lance tous mes exports SAP tous les matins et est bien plus rapide que moi lui), mais je pense qu’il me manque là aussi des trucs payants (runtime machine blablablabla)

  • Thibault

    Membre
    23 janvier 2025 à 16h37

    Non, il ne s’agit pas d’un flux powerautomate d’une tâche créée avec le planificateur de tâches de Windows.

    Et je le fais tourner 1 fois par mois et non hebdo.

  • Johan

    Membre
    24 janvier 2025 à 8h45

    Bonjour,

    Tout d’abord, merci pour vos réponses à mon message initial.

    Je ne dispose pas de Power Automate, je ne sais même pas si je saurai mettre en oeuvre un tel outil.

    Vu je suis contraint dans le choix de mes outils (uniquement Power Bi desktop), existe-il une solution pour mettre en place une historisation semaine par semaine de mes mesures ?

    En vous remerciant des conseils que vous voudrez bien m’apporter.

    Cordialement,

  • Sophie

    Membre
    24 janvier 2025 à 9h58

    Power automate est une solution en ligne, qui va lire le rapport qui est hébergé sur le service power bi.

    A moins que tu n’aies une restriction dans ta licence microsoft 365?

    https://make.powerautomate.com/

    Si tu y as accès, aucune souci pour t’apporter de l’aide pour le créer ce flux

  • Denis

    Membre
    24 janvier 2025 à 11h40

    J’utilise PA mais n’y avais pas pensé pour ce sujet. Le principe de la requête vers un fichier CSV réinjecté dans le rapport semble top !
    D’ailleurs qui saurait pourquoi chez moi le connecteur Power BI n’apparaît pas dans la liste dans Power Automate ? J’ai une licence Pro.
    Je le vois dans les modèles, que je peux modifier, mais c’est un peu galère…

  • Sophie

    Membre
    24 janvier 2025 à 12h51

    Alors là mystère,

    lorsque je crée un nouveau flux et que je fais “ajouter une action” (désolée je n’ai pas les menu en français au boulot):

    dans le menu de gauche j’ai ça:

    Et je peux faire “see more”:

  • Denis

    Membre
    24 janvier 2025 à 13h02

    Quelle chance 🙂
    J’avais posé la question dans le forum PA l’an dernier, sans réponse…
    https://ppfc.fr/groupes/power-automate/forum/topic/connecteur-power-bi-dans-le-designer-actions-manquantes/

  • Denis

    Membre
    30 janvier 2025 à 1h07

    …en fait le connecteur Power BI n’apparaît plus dans l’ancien designer, il faut utiliser le nouveau !

    @Sophie, je suis arrivé en bas de la capture d’écran de votre flux, mais l’action “Ajouter des lignes à un jeu de données” ne donne pas accès au modèle sémantique dans le service…
    Quelle méthode utilisez-vous pour “recharger le CSV dans le rapport” ?

  • Sophie

    Membre
    30 janvier 2025 à 8h54

    Je ne suis pas sûre de bien comprendre mais en gros:

    Je charge une liste Sharepoint dans mon semantic model, (la fameuse snapshot table).

    Mon flux va donc rajouter des lignes dans cette liste sharepoint avec les KPI du jour.

    Une fois que ces lignes ont été rajoutées dans la liste sharepoint, mon action est suivante est de lancer un refresh de mon semantic model afin de faire remonter ces nouvelles lignes dans mon rapport.
    Au pire ces nouvelles lignes ajoutées dans ma liste sharepoint (mais ce peut être un nouveau fichier, une nouvelle ligne dans excel, j’utilise les listes sharepoint avant tout pour éviter que des utilisateurs de mon service y aient accès et risquent de modifier le fichier et de faire ainsi planter le rapport), mon rapport se mettre à jour à la prochaine mise à jour programmée sur le service power bi

    Je ne sais pas si c’est plus clair.

  • Denis

    Membre
    8 février 2025 à 19h29

    Je voulais dire que l’action ci-dessous du connecteur Power BI ne trouve pas le jeu de données :

    Mais j’ai réussi à terminer le flux, avec liste Sharepoint également !
    Dans Power BI j’ai créé une “table calculée”de mes mesures, afin de simplifier au maximum la requête dans Power Automate :
    EVALUATE
    ‘<table>’
    Je verrai à l’usage si c’est une bonne idée ou pas.

    Merci Sophie et bon courage à Johan !

Connectez-vous pour répondre.