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

Jasper Discussion :

Comparer les données N et N-1


Sujet :

Jasper

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut Comparer les données N et N-1
    Bonjour,

    Débutant dans le domaine du BI je suis en train de dessiner un domaine pour jasperserver.
    Définir une structure de base de données orientée interrogation et l'alimenter via un ETL à partir du transactionnel pour la présenter à l'utilisateur ne me pose pas de problèmes.

    MAIS mon utilisateur d'emblée me parle de comparaison de données entre l'année N et l'année N-1.

    J'ai deux questions :
    1 Est-ce que cela est impactant sur la façon de dessiner le domaine ?
    2 Comment est-ce qu'on réalise ce genre de comparaison. Cela doit être un grand classique.

    Voilà. Si quelqu'un peut m'orienter...
    Pozzo.PtitTet

  2. #2
    Membre régulier
    Inscrit en
    Mars 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 50
    Points : 73
    Points
    73
    Par défaut
    Aucun souci à ce niveau là,

    il suffit d'avoir une dimension temps relier à ses faits. ce qui est pour moi toujours le cas.

    rien de compliquer c'est très basique.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut Dimension temps
    Merci de ta réponse beenj,

    Je prévois en effet une dimension temps (assez largement inspirée du livre de Kimball et Ross sur les entrepôts de données).

    Je peux donc sélectionner les faits qui m'intéressent à une date donnée.
    Pour cela je prends la mesure qui m'intéresse dans la table de faits et je choisis par exemple le mois et l'année dans la dimension temps.
    En filtrant sur l'année je peux donc avoir les mesures année N (nombre de gâteaux vendus par mois en 2012 par exemple).
    Je peux aussi réaliser une autre requête, pour les gâteaux vendus par mois en 2013.

    Ma question est : Comment je fais le comparatif dans un tableau avec pour chaque mois une ligne donnant la quantité vendu en 2012 et en 2013 ?

    Pozzo

  4. #4
    Membre régulier
    Inscrit en
    Mars 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 50
    Points : 73
    Points
    73
    Par défaut
    bon j'ai pas été assez précis:

    tu filtres tes données sur tes deux années : 2012 et 2013 dans ton exemple

    et tu affiches :
    année | mois | indicateur

    tu peux même mettre tes mois en colonnes avec un tableau croisé (ton outil de reporting doit le faire nativement).

    Pour les mois j'ai personnelement plusieurs formats:

    en toute lettre: Janvier
    abrégé: Jan
    en anglais : January
    en chiffre: 01
    et mois année en chiffre: 201301
    (il y en a d'autres mais on va s'arrêter la)

    pour ton exemple il ne faut bien sur pas prendre le format 201301 mais un des autres formats.


    tu auras donc :

    année | mois | indicateur
    2013 | Janvier | 15107
    2014| Janvier | 17500
    2013 | Fevrier | 6005
    2014 | Fevrier | 7705

    en tableau croisé:

    Année | Janvier | Fevrier
    2013 15107 6005
    2014 17500 7705

    ou un tableau croisé dans l'autre sens:

    Mois | 2013 | 2014
    Janvier 15407 17500
    Fevrier 6005 7705


    j'ai une préfrérence pour cet dernier car tu peux faire des totaux de trimestre... année sur les lignes et rajouter d'autres indicateurs en colonnes du style le delta en valeur, le delta en %

    mais il faut te dire qu'en terme de modélisation, ca ne change rien... tu as tout ligne à ligne.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut
    Merci cette fois encore.

    Oui le tableau croisé dynamique donne l'info en effet pour chaque année.
    Reste alors à effectuer la comparaison pour obtenir :

    Mois | 2013 | 2014 | Comparaison
    Janvier 15407 17500 +2093
    Fevrier 6005 7705 +1700

    Comment obtenir cette colonne comparaison qui est la différence entre 2014 et 2013 ?

    Pozzo

  6. #6
    Membre régulier
    Inscrit en
    Mars 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 50
    Points : 73
    Points
    73
    Par défaut
    cet indicateur de comparaison pourrais être stockée dans le Datawarehouse mais ca n'a peu d'intérêt.

    Les logciels de reporting sont capables de créer un nouvel indicateur "dynamique" en fonction d'indicateurs stockées en base.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut
    ...
    J'utilise jasperserver qui ne me semble pas donner cette possibilité.
    Avec un jeu d'essai j'en aurai le coeur net.

    Merci bon WE
    Pozzo

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut
    Bonjour,

    J'ai un jeu d'essai documenté et j'ai saisi le support Jaspersoft.
    Du coup ça ne rentre plus de ce forum de conception.
    Je reviendrai s'il faut concevoir autre chose suite à la limitation du produit.

    En attendant je laisse le post ouvert pour le cas ou quelqu'un aurait une idée pour procéder en modifiant l'entrepôt de données.

    Pozzo.QuiRame

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut
    Bonjour,

    Après discussion avec le support le produit AdHoc designer ne permet pas de calculer la différence entre deux colonnes d'un tableau croisé dynamique.
    Je dois procéder différemment.

    Le besoin est de comparer les données d'une année sur l'autre en affichant dans les colonnes les années et le delta d'une année sur l'autre.
    "Vente 2012", "Vente 2013", "Delta 2013-2012"

    Exemple avec une vente de patisseries :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Produit "Vente 2012",  "Vente 2013",  "Delta 2013-2012"
    Cake              55|            37|                -18
    Tarte             51|            33|                -18
    J'ai procédé comme ça :
    Ajout d'une table de fait vente_agrégées qui se réfère aux dimensions temps et produit
    Attributs : (produit_id), (temps_id), qte, qte_n-1, delta_qte_avec_n-1

    Et j'obtiens un tableau simple (plus besoin de TCD) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Produit | année | Qte | Qte n-1 | Qte delta
    Cake    | 2012  | 55  |         |   
    Tarte   | 2012  | 51  |         |
    Cake    | 2013  | 37  | 55      | -18
    Tarte   | 2013  | 33  | 51      | -18
    Sur cette base il me semble qu'on peut faire pas mal de choses.

    J'ai deux questions :
    - Est-ce que cela vous paraît correct du point de vue design ? (Ajouter un champ qte_n-1 pour gérer les différences de ventes)
    - J'ai dû ajouter dans ma table de temps (année, mois) deux lignes : ('2012', 'Tous'), ('2013', 'Tous'). Ainsi j'ai la même dimension temps pour les ventes détaillées et agrégées. Seules les tables de fait sont distinctes. Même question. Est-ce correct ?

    Tout autre critique bienvenue évidemment.
    Pozzo

  10. #10
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Hello,

    C'est dommage que le soft impacte autant la modélisation

    Je ne connais pas jasper, donc je ne saurais dire ...
    Mais sinon j'aurais gardé mes tables actuelles et fait des vues pour le reporting. C'est plus flexible qu'une table agrégée.
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Discussions similaires

  1. [XL-2007] comparer les données de deux feuilles
    Par devalender dans le forum Excel
    Réponses: 3
    Dernier message: 07/06/2011, 16h49
  2. [XL-2007] comparer les données reçues sur un mois et completer les données manquantes par une macro.
    Par wisemanvsfatboy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/11/2010, 17h16
  3. comparer les donnes d'un controle ASP.net au base de donne
    Par princesse_sahara dans le forum ASP.NET
    Réponses: 2
    Dernier message: 01/05/2008, 01h13
  4. Comparer les données de deux tables ?
    Par bicz400 dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/02/2008, 11h33
  5. Réponses: 4
    Dernier message: 26/07/2007, 10h49

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