Statistiques TCD POWERQUERY

Accueil – Le CFO masqué Forums Power Query Statistiques TCD POWERQUERY

  • Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par Arnaud, le il y a 3 années et 1 mois.
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Articles
  • #88141
    Arnaud
    Participant

    Bonjour,

    Je me permets de solliciter votre aide sur mon cas de figure.

    J’ai plusieurs tableaux sur lesquelles un TCD est actualisé. Mon but est d’incrémenter une nouvelles table avec mes TCD les uns en dessous des autres en vue de faire des statistiques.

    Pour cela je pensais :
    Ajouter la date d’actualisation du TCD
    Créer une requête/fonction Powerquery.

    Ce que j’ai fais :
    J’ai créer une date à côté de mon TCD avec la fonction Aujourd’hui.
    J’ai crée une requête dans le même classeur à partir d’une plage qui reprend ma date + TCD.
    Quand j’essaie via “ajouter des requêtes” pour combiner le TCD + la requête les uns en dessous des autres cela ne marche pas. Je crois que PowQuery ne reconnait pas le TCD comme une table.

    Je réfléchis à créer une fonction avec pour paramètre l’onglet de mon TCD et à stocker le résultat dans requête. Avant de me lançer j’aimerais connaître votre avis svp.

    Merci pour le temps que vous pouvez me consacrer.

    cdt
    arnaud

    #88142
    Stéphane Lorin
    Participant

    Bonjour

    En effet, un TCD n’est pas une table et vous ne pouvez pas récupérer dans une requête “interne” (Excel.CurrentWorkbook) les données d’une feuille.

    Je n’ai pas testé mais techniquement je pense que c’est envisageable en passant par un classeur externe en faisant appel à votre propre classeur.
    = Excel.Workbook(File.Contents(“Votre Chemin\Votre fichier.xlsx”), null, true)
    Dans ce cas vous pouvez lire le contenu de votre feuille.
    Mais il faut enregistrer le fichier entre l’actualisation du TCD et la mise à jour de la requête.

    Sinon, vous créez un tableau à coté de votre TCD avec votre date + un lien chaque cellule de votre TCD.
    Pensez à ajouter l’heure si le TCD est actualisé plusieurs fois dans la même journée.

    A voir aussi si c’est vous seul qui utilisez le fichier, et faîtes les mises à jour.
    Je trouve personnellement que ce n’est pas très propre “informatiquement” et un peu dangereux. Mais c’est un avis personnel !

    Stéphane

    #88143
    Arnaud
    Participant

    Bonjour,

    Merci Stéphane pour votre réponse.

    Solution 1 : En effet j’avais pensé aussi au classeur externe + requête sur un dossier où se trouvent tous les enregistrements après actualisation. Compte tenu que j’ai plusieurs TCD avec une actualisation hebdomadaire cela engendrerait un grand nombre d’enregistrement.

    Solution 2 : Je ne suis pas sûr de comprendre. Le lien renvoyant sur le TCD actualisé, il faut que je conserve l’historique de mes actualisation TCD et les combiner pour en faire un seul et même fichier. Je travaille sur un seul classeur avec des requêtes powerquery et un modèle powerpivot et pour faire mes TCD.

    je suis un peu embêté de cela car si je ne peux pas réutiliser les données du TCD simplement je vais devoir faire solution 1 . Peut être qu’il y a autre chose mais je ne vois pas malheureusement

    cdt
    arnaud

    #88149
    Stéphane Lorin
    Participant

    Arnaud

    voici un exemple simplifié

    J’ai une table de données et un TCD en résultant.
    Je crée une table “En_cours” à coté du TCD qui reprend les valeurs + horodatage

    Puis je crée une requête PowerQuery que je nomme “Historique” qui récupère la table “En_Cours”
    =Excel.CurrentWorkbook(){[Name=”En_Cours”]}[Content]
    Je la charge dans un tableau (qui s’appelle donc “Historique”)

    Et maintenant je viens modifier la requête “Historique” en ajoutant :

    = Excel.CurrentWorkbook(){[Name=”Historique”]}[Content]&Excel.CurrentWorkbook(){[Name=”En_Cours”]}[Content]

    le & concatène l’historique avec les données en-cours.

    Cordialement

    Stéphane

    Attachments:
    You must be logged in to view attached files.
    #88181
    Arnaud
    Participant

    Sébastien,

    Merci pour votre exemple. Je viens de tester le fonctionnement appliqué à mon cas

    J’ai un résultat qui me paraît normal si je respecte ce que vous avez dit plus haut.

    Comme Historique pointe sur la table En_cours, quand j’affiche :

    = Excel.CurrentWorkbook(){[Name=”Historique”]}[Content]&Excel.CurrentWorkbook(){[Name=”En_Cours”]}[Content]

    La table qui en résulte s’affiche deux fois en doublon l’une en dessous de l’autre.
    d

    #88214
    Arnaud
    Participant

    Bonjour,

    Peut être que je n’ai pas su appliquer correctement les étapes décrites..

    Je suis toujours à l’écoute

    merci
    cdt
    arnaud

    #88216
    Stéphane Lorin
    Participant

    Arnaud

    comme vous vous adressiez à un Sébastien et que le message ne semblait pas terminé je pensais que vous reviendriez compléter le texte ou que c’était une erreur

    Si les données n’ont pas évolué d’une fois sur l’autre c’est normal qu’elles se superposent.
    Le champ Date/Heure permet justement de visualiser les actualisations successives.

    Cordialement

    Stéphane

    #88463
    Arnaud
    Participant

    Stéphane,

    Excusez moi , je répondais à un Sébastien et j’ai fais une confusion.

    Votre technique marche bien. Pour info, j’ai désactivé l’option “actualiser cette connexion à la commande Actualiser tout” sur les deux tableaux de stat car sinon j’importais les anciennes données avec la date du jour actualisé. J’ai simplement à mettre à jour les données ( Actualiser tout) et ensuite actualiser manuellement les deux tableaux de stat via la requête pour importer les TCD mise à jour.

    J’ai une petite question pour automatiser les actualisations. J’ai eu connaissance qu’il était possible de le faire grâce aux tâches planifiés Windows, est-ce que vous avez un avis ?
    (Il faut que j’actualise deux requêtes manuellement après avoir fait actualiser tout).

    Merci pour votre aide précieuse.

    bonne journée

    cdt
    arnaud

8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.