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

Designer Discussion :

[BO XIR2] Question de débutante sur les Ecart-type & Indicateur


Sujet :

Designer

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut [BO XIR2] Question de débutante sur les Ecart-type & Indicateur
    Bonjour,

    Je débute sous BO en général et je suis amené à concevoir des univers.

    Si j'ai bien compris les diverses documentations que j'ai lues, les indicateurs permettent d'obtenir des agrégations comme les sommes, les moyennes etc... Mais je ne vois pas la notion de "écart-type".

    Par exemple, si je souhaite mettre une notion d'écart type sur un champ en particulier, qu'est-il conseillé de faire? Je pensais faire un indicateur, en sélectionnant la fonction de projection à "aucune" et en mettant dans la fenêtre "Select", qqch du type "stddev(mon_champ)". est-ce que je pars sur la bonne voie?
    Quelqu'un pourrait éclairer ma lanterne?

    Du coup, une autre question me vient en tête..
    Quelle serait la différence entre
    1.la création d'une dimension où l'on définirait dans le fenêtre "select" "avg(mon_champ)"
    et entre
    2.la création d'un indicateur avec la fonction d'agrégation "moyenne" et dans la fenêtre "select" "mon_champ"
    ?

    merci d'avance...

  2. #2
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    je souhaite mettre une notion d'écart type sur un champ en particulier, qu'est-il conseillé de faire?
    Personnellement, je te conseillerais d'utiliser la fonction EcartType() ou EcartTypeP() en fonction de ce que tu veux avoir.

    Quelle serait la différence entre
    1.la création d'une dimension où l'on définirait dans le fenêtre "select" "avg(mon_champ)"
    et entre
    2.la création d'un indicateur avec la fonction d'agrégation "moyenne" et dans la fenêtre "select" "mon_champ"
    ?
    1. La moyenne est effectuée par ton SGBD, tu auras donc des données agrégées dans ton fournisseur de données.
    2. La fonction fera la moyenne de toutes les valeurs ramenées dans ton fournisseur.
    Attention cependant à la fonction d'agrégation appliquée sur ton objet (onglet propriété dans le designer), car entre la moyenne des moyennes, la somme des moyennes, la moyenne ou la moyenne des sommes, cela fait une différence...
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    Merci pour ta réponse, je crois que j'y vois plus clair.

    D'autres questions me viennent alors...
    1. Quelle est la différence (si il y en a une?) entre la fonction "EcartType()" de BO et la fonction "stddev" de ma BDD (je suis sous Oracle) ?

    Concernant la réponse à la 2eme partie de mon post... Je suppose qu'entre ces 2 solutions, les performances ne sont pas les mêmes... Quelle est la solution la plus rapide, celle de faire les calcul de moyenne (pour reprendre cet exemple) par la BDD, ou bien de le faire faire sous BO, une fois les données ramenées?

    Merci d'avance,

  4. #4
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Quelle est la différence (si il y en a une?) entre la fonction "EcartType()" de BO et la fonction "stddev" de ma BDD
    Là je ne saurais te répondre... regarde dans l'aide de la fonction BO et celle d'Oracle pour comparer les deux.

    Quelle est la solution la plus rapide, celle de faire les calcul de moyenne (pour reprendre cet exemple) par la BDD, ou bien de le faire faire sous BO
    La solution la plus rapide est de loin de passer par la BDD. En plus BO aura moins de données à traiter et sera donc plus rapide à l'affichage. Par contre, si tu as besoin du détail (sur lequel porte les moyennes) à un moment ou à un autre, ça n'ira pas...
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    ok, merci bien de toutes ces infos.

    Une autre petite question me "taraude"... Si on crée un indicateur avec comme fonction de projection "Aucune"... que se passe-t-il?
    Est-ce qu'un indicateur de ce type ne ressemble pas à une dimension?


    Merci d'avance

  6. #6
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Si on crée un indicateur avec comme fonction de projection "Aucune"... que se passe-t-il?
    Lorsque tu ramèneras cet indicateur dans une requête, tu n'auras pas de différence au niveau de ton fournisseur de données (par rapport à un avec la fonction Somme par exemple)
    Par contre, à l'affichage de ton tableau, BO ne fera aucune agrégation de ton résultat pour une ventilation identique. Ex :

    Fonction de projection "Somme" :
    Fournisseur :
    TOTO 1
    TOTO 3
    TOTO 0
    TOTO 4
    TATA 2
    TATA 8
    Tableau :
    TOTO 8
    TATA 10

    Fonction de projection "Aucune" :
    Fournisseur :
    TOTO 1
    TOTO 3
    TOTO 0
    TOTO 4
    TATA 2
    TATA 8
    Tableau :
    TOTO 1
    TOTO 3
    TOTO 0
    TOTO 4
    TATA 2
    TATA 8

    En fait, ça revient à cocher dans ton format de tableau "éviter l'agrégation des doublons"

    Est-ce qu'un indicateur de ce type ne ressemble pas à une dimension?
    Ca ne fait qu'y ressembler, car cet objet ne te permettra pas de ventiler d'autres données, et se comporte comme un indicateur et non une dimension lors de calcul. Ex :

    Somme(<Dimension>) :
    4
    4
    3
    2
    __
    9 : les doublons ne sont pas sommés, seules les valeurs distinctes le sont.

    Somme(<Indicateur>) : (même avec projection "Aucune")
    4
    4
    3
    2
    __
    13 : le calcul s'effectue normalement
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    Merci, je crois bien que c'est plus clair!

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut mince, j'ai d'autres questions...
    Suite à mon message de la dernière fois, je me rends compte que je n'ai pas pigé certaines choses...
    Afin de mieux comprendre ma quesstion et aussi (peut être de faciliter les réponses) je soumets un exemple simple
    Supposons que mon univers ne contienne qu'une seule table de ma bdd (c'est juste pour simplifier mon exemple
    supposons la table suivante:
    Ma_Table
    DATE(date) NOM(varchar) Heure_Deb(date) Heure_Fin(Date)
    01/01/2010 Truc Muche 08:00:00 08:33:00
    01/01/2010 Truc Muche 10:00:00 11:00:00
    01/01/2010 Truc Muche 16:00:00 16:05:00


    Dans mon univers je vais mettre les dimensions suivantes:
    Date : to_char(DATE,'DD/MM/YYYY')
    Nom=NOM
    Heure déb = to_char(Heure_deb,'HH24:MI')
    Heure Fin = to_char(Heure_fin,'HH24:MI')
    Durée = to_char(trunc(sysdate) +(Heure_deb - Heure_fin),'HH24:MI')

    Et je voudrais les indicateur suivants:
    1.durée moyenne
    2.durée min
    3.durée max
    4.durée totale
    5.écart type de la durée.

    Je suis partie en faisant pour les indicateurs 1,2,3,4 en prenant la même donnée que la dimension sur la durée, mais en mettant respectivement la projection moyenne, min, max et Somme.

    Mais voilà, le problème que je rencontre pour la moyenne et la somme, il lui est difficile de faire ça sur une chaine de caractère (normal, vous allez me dire), mais moi, j'aimerai que pour l'affichage du résultat à l'utilisateur que ce soit qqch du type HH24:MI...
    Que puis-je faire?

    J'avoue que j'ai du mal à comprendre et intégrer cette notion de projection...

    En ce qui concerne l'écart-type, là je suis paumée pour pouvoir le réaliser... Quelle type de projection faudrait-il mettre?
    Dans cet indicateur, j'ai "bêtement" mis stddev(durée), est-ce que c'est bien ça?

    Merci pour vos éclairage, car, là, je me sens quelque peu paumée...

  9. #9
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Bonjour,

    Mais voilà, le problème que je rencontre pour la moyenne et la somme, il lui est difficile de faire ça sur une chaine de caractère (normal, vous allez me dire), mais moi, j'aimerai que pour l'affichage du résultat à l'utilisateur que ce soit qqch du type HH24:MI...
    Que puis-je faire?
    Alors, pour tout ce qui est dates et heures, je ne te conseille pas de les passer en caractère. Car comme tu l'as remarqué, cela pose des problèmes quand on veut faire des calculs dessus.

    Donc, il vaut mieux laisser ces objets dans leur type d'origine et, pour l'affichage, aller modifier le format de l'objet dans le designer. (clic droit sur un objet puis "Format de l'objet")

    En ce qui concerne l'écart-type, là je suis paumée pour pouvoir le réaliser... Quelle type de projection faudrait-il mettre?
    Dans cet indicateur, j'ai "bêtement" mis stddev(durée), est-ce que c'est bien ça?
    Là j'avoue avoir plus de mal car c'est une notion que je n'utilise pas. Mais à priori je pense que la formule que tu utilises est la bonne solution. Ensuite, pour la projection, je pense qu'il vaut mieux le laisser à "Aucune" car sinon ça va te faire des moyennes ou des sommes qui ne seront pas très cohérentes.

    En fait, je dirais que l'écart-type ne peut pas s'utiliser de n'importe quelle façon. Par exemple, si tu veux l'écart type pour chaque "DATE" et chaque "NOM" il ne faudra surtout pas mettre les objets "HEURE_DEB" et "HEURE_FIN" dans ta requête, sinon tu auras l'écart type pour un seul enregistrement. En gros tu auras la durée ni plus ni moins.
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    Ah, je n'avais pas encore vu l'option "format"...
    Merci bien, ça va bien me simplifier la vie !

    Pour l'écart type, ça confirme ce que je pensais faire.

    Merci encore de ton aide

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut Ach...
    j'ai un autre souci, mais sûrement encore des "trous" dans ma "formation sur le tas"...

    Donc, ma durée, ok.
    Ma dimension est désormais :
    durée = trunc(sysdate) +(Heure_fin - Heure_deb)
    donc, un type date que je mets dans un format hh:mm pour l'affichage.

    Pour mes indicatuer, en revanche, je suis obligé, par exemple pour la moyenne des durée de mettre :
    Heure_fin - Heure_deb (car la moyenne n'aime pas que l'on fasse des moyenne de date, mais plutôt de numérique).

    Y a-t-il alors un moyenne pour que l'affichage ne soit pas des fractions de jours, mais plutôt qqch du style hh:mm ?

    ... meurci ...

  12. #12
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Il n'y a pas de solution directe mais par contre tu peux le calculer...
    Pour pouvoir te poster la formule, peux-tu me donner un exemple de heure_deb et heure_fin et du résultat de heure_fin-heure_deb ?
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    bien, sûr, je le peux...

    hre deb :
    13:41
    16:01
    16:15

    hre fin :
    16:00
    16:14
    21:58

    hre fin-hre deb (de type date)//(de type numérique en fraction de jour)
    02:19 // 0.096655
    00:13 // 0.009317129
    05:42 // 0.237997


    J'espère avoir donner la réponse à ta question...

  14. #14
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    euh... y'a pas comme un truc bizarre là ?
    02:19 // 0.009317129
    1 j = 24 h
    2h ~= 0,08 j
    Je ne comprends donc pas bien d'où vient le 0,009...
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    je viens de corriger plus haut... sorry, je suis une boulette

  16. #16
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    OK, je l'ai fait de tête alors à tester...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_char(trunc(((heure_fin-heure_deb)*86400)/3600))||':'||to_char(trunc(mod((heure_fin-heure_deb)*86400,3600)/60))||':'||to_char(round(mod((heure_fin-heure_deb)*86400,3600)/60,2))
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    je testerai mais, tu pense que ça peut marcher correctement avec la projection "Moyenne"?

    Enfin, je vais voir ça...
    Je donnerai mes conclusions après :-)

  18. #18
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Non, il faut appliquer cette formule ensuite, du coup ça donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_char(trunc(((avg(heure_fin-heure_deb))*86400)/3600))||':'||to_char(trunc(mod(avg(heure_fin-heure_deb)*86400,3600)/60))||':'||to_char(round(mod(avg(heure_fin-heure_deb)*86400,3600)/60,2))
    Avec projection "Aucune"
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    ah, ok...

    Mais du coup, si je m'en réfère à mes première interrogations et à tes premières réponses, si je mets comme projection "Aucune" je ne vais pas avoir de regroupement d'enregistrement...
    En tout cas, c'est ce que je constate.

    Il n'y a pas moyen d'applicquer une "conversion" après coup, genre de définir un format personnalisé avec une formule dedans?

    Sinon, bah, tanpis, je laisserais ça en nombre d'heures...

    En tout cas merci pour le temps consacré à mon pb...

  20. #20
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    En fait si, tu as moyen de le faire mais pas dans le designer. En effet, les options proposées dans le "Format de l'objet" ne sont pas suffisantes pour faire ce que tu souhaites.

    Par contre tu peux, une fois ta requête effectuée dans le reporter (en fraction de jours) créer une variable qui reprend la formule que je t'ai donné, mais qu'il faut du coup transcrire en "syntaxe BO". L'inconvénient, c'est qu'il faudra recréer cette variable dans tous les rapports sur lesquels tu veux effectuer cette conversion
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

Discussions similaires

  1. question de débutant sur les threads
    Par Virgile le chat dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 27/06/2007, 17h10
  2. [C#] question de débutant sur les threads?
    Par Jayceblaster dans le forum C#
    Réponses: 6
    Dernier message: 27/11/2006, 10h52
  3. Réponses: 15
    Dernier message: 15/10/2006, 16h52
  4. question de débutant sur les jointures
    Par dreamcocktail dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/03/2006, 15h24
  5. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51

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