IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

Historisation des résultats d'un TcD [XL-2010]


Sujet :

Conception

  1. #1
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut Historisation des résultats d'un TcD
    Bonjour à tous,

    Ca fait un moment que j'ai ce besoin et j'y ai déjà pas mal réfléchi mais je ne vois pas comment m'en sortir "simplement", de ce fait je vous soumets mon besoin si des fois quelqu'un a une idée lumineuse.

    Mon besoin :
    - Chaque mois, j'ai une extraction excel (provenant d'un outil) qui me sort quelques dizaines de milliers de lignes
    - Afin d'exploiter ces données j'ai un tableau croisé dynamique qui fait des regroupements, des filtres,.... pour me donner un nombre de jour répartis par thème
    - Mon besoin est alors de pouvoir comparer chaque mois l'évolution de mes données et ainsi pour chacun de mes thèmes voir l'évolution du nombre de jours (idéalement garder l'historique de tous les mois passé)

    J'ai pensé à quelques pistes :
    - stocker mes données sources en ajoutant une colonne avec le mois concerné (et ensuite prendre l'ensemble de mes données dans un TcD réparties par mois) => problème : la volumétrie
    - stocker mes données sources dans 1 onglet par mois (et ensuite prendre l'ensemble de mes onglets dans un TcD réparties par mois) => problème : la volumétrie + TcD pas adapté à des répartitions complexes
    - stocker mes résultats de TcD mensuellement (et ensuite reprendre l'ensemble de mes résultats dans un TcD) => problème : comment stocker ces résultats pour pouvoir les exploiter ensuite dans un TcD ? export csv ou conversion en feuille excel classique via macro ? fonction d'export existante dans excel ? copier/coller manuel (problème en cas de champ réduits dans le TcD),.. autre ?

    Je suis preneur de vos idées.

    D'avance merci.

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 416
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 416
    Points : 16 259
    Points
    16 259
    Par défaut
    Bonjour

    Il est très facile de traiter une source unique par TCD, nettement plus complexe avec des sources multiples et la volumétrie est la même.

    Donc question : quelle est la volumétrie ?
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut
    Bonjour Chris,

    Le fichier de base : 44 000 lignes x 67 colonnes
    Si j'ai ce même volume par mois, il faut encore le multiplier par 12

    Le fichier de base fait déjà 22 Mo donc si on multiplie encore les données par 12... ça va faire beaucoup surtout qu'une fois agrégées je n'ai plus besoin des lignes détails, seuls les résultats agrégés m'intéressent d'un mois sur l'autre.

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 416
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 416
    Points : 16 259
    Points
    16 259
    Par défaut
    Bonjour

    Rien n'empêche de stocker les 600 000 lignes dans une classeur différent de celui du TCD ou dans une base de donnée si tu en as une...

    67 colonnes parait énorme : la structure n'est peut-être pas optimum...

    Un TCD permet de comparer des périodes sur la base des lignes détail. C'est plus délicat si on veut partir de la synthèse.

    Il faut cocher la répétition sur toutes les lignes des étiquettes de lignes de tous les champs de ligne, replacer la plupart des étiquettes de colonnes en étiquettes de lignes, enlever les totaux lignes et colonnes pour ensuite copier coller sous forme de valeurs le contenu du TCD pour en faire une nouvelle source. Cela en mettant ces copies bout à bout chaque mois.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut
    - Base de données : non je n'ai pas
    - Stoker les lignes en fichier externe au TcD : bonne idée, ça évitera le problème de poids du fichier TcD
    - 67 colonnes : je n'ai pas le choix, c'est une extraction qui m'est fournie depuis un outil de suivi (il n'y a pas que moi qui me sert de cette extraction, je ne peux donc pas la faire adapter)
    - L'export des données du TcD : oui c'est un peu compliqué, après une macro peut peut-être me permettre de le faire automatiquement sachant que potentiellement mon TcD risque d'avoir pas mal de lignes aussi, avec pas mal de colonnes

    S'il y a d'autres conseils, idées, astuces,... je suis preneur.

  6. #6
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut
    Bon finalement je me suis lancé dans ma solution initiale c'est à dire une macro qui enregistre mon TcD résultat en données excel et en y ajoutant une référence de la photo (une par mois).
    Un deuxième TcD se base sur ces données enregistrées et je n'ai plus qu'à mettre la référence de la photo en étiquette de colonne, ainsi je vois l'évolution de mes données d'un mois sur l'autre.

    Ci-dessous la macro qui reste à peaufiner avec des contrôles, des paramétrages,... mais le principe y est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub Export(ref As String)
        FeuilleSource = "Source"
        FeuilleCible = "Cible"
        Reference = ref
     
        LigneCible = Sheets(FeuilleCible).Range("B" & Rows.Count).End(xlUp).Row + 1
     
        Sheets(FeuilleSource).Select
        For Each pvt In Sheets(FeuilleSource).PivotTables
            For i = 3 To pvt.TableRange1.Rows.Count
                pvt.TableRange1.Rows(i).Select
                Selection.Copy
                Sheets(FeuilleCible).Select
                Cells(LigneCible, 1).Value = Reference
                Cells(LigneCible, 2).Select
                Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                    :=False, Transpose:=False
                Sheets(FeuilleSource).Select
                LigneCible = LigneCible + 1
            Next i
       Next pvt
     
    End Sub
    Cette macro est appelée par un useform dans lequel je saisis une référence de ma photo, une étiquette, qui est transmise en paramètre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. remplir une table en fonction des résultats
    Par Psychomantis dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 19/10/2004, 12h22
  2. DBCC SQLPERF ( LOGSPACE ) Interprétation des résultats
    Par Labienus dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/07/2004, 15h50
  3. Grouper et concatener des résultats
    Par Koo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/07/2004, 10h09
  4. Select, union, éliminer des résultats.
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 10/06/2004, 09h42
  5. Réponses: 3
    Dernier message: 18/05/2003, 00h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo