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

BIRT Discussion :

Mettre en avant un point dans un nuage de point


Sujet :

BIRT

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut Mettre en avant un point dans un nuage de point
    à tous ,

    Je vous explique ma problématique.
    Je dois réaliser un graphique nuage de point, ou sont représenté les salariés de l'entreprise correspondant à une même qualification, sur une tranche d'age. Et Exemple : Les salariés de 30 à 40 ans appartenant à la catégorie Apprentit.
    En fait je dois mettre en avant un point en particulier correspondant à la position d'un salarié dans ce nuage de point.
    Je ne sais pas du tout comment faire. Je sais qu'avec un tableau on peut faire du Highlight mais avec un graphique je ne sais pas.

    Merci

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bonjour,

    Tu peux séparer tes points en deux séries et tu changes la couleur de la deuxième série.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    J'ai pensé à cette solution mais je sais pas du tout comment faire.
    Comment faire deux séries sur un même graphique ?

    Merci

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    re,

    Bon j'ai trouvé comment faire 2 séries sur un graphique.
    Le problème maintenant c'est de pouvoir identifier la personne que l'on veut mettre en avant (Exemple : Point plus gros que les autres).

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Markers
    utilise les markers , tu as une dizaine plus la possibilité de rajouter les tiens.

    par exemple , tu peux mettre un X rouge à la place du X bleu.

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    Les markers n'ont rien à voir avec mon problème je pense, ce que je veux c'est pourvoir identifier un individu sur la population observé afin de mettre en avant celui-ci par n'importe quel moyen.

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut combiner les 2 réponses
    Si tu combines les 2 réponses :

    1) isoler ton ( tes ) individus dans une 2e série.

    2) mettre le marker de ton choix pour cette 2e série afin de les mettre en evidence

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    En fait je ne sais pas comment isoler mon individu, dois-je utiliser des filtres ou faire des scripts au moment de la génération du report ?
    J'arrive à ajouter une série dans mon graphique, et modifier son Marker.

    Désolé, j'ai un peu de mal à expliquer mon problème.

    Merci

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut ?
    C'est quoi l'"algorithme" pour identifier l'individu "à part"?

  10. #10
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    En fait la personne visualise des données sur un salarié, puis à terme elle souhaite exécuter un rapport lui permettant de visualiser la position de se salarié sur une population de salarié ayant la même qualification et dans une tranche d'age.
    J'ai pas d'algorithme à proprement parler, juste cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT AVG(BASE_35H_FORFAIT)as BASE_35H_FORFAIT,AGE_FIN_MOIS,NOM
    FROM HRReport
    WHERE (QUALIFICATION=?) AND (AGE_FIN_MOIS>=?) AND
     (AGE_FIN_MOIS<=?)
    GROUP BY NOM,AGE_FIN_MOIS

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut 2 axes
    Bah , 2 rapports avec un simple drill down seront suffisants je pense.

    Rapport 1 : choix du salarié en question ou recherche par nom prenom ( tu peux utiliser les cascading parameters )

    une fois le(s) salariés trouvés , activer un lien de type drill sur le code salarié par exemple. et passer en paramètre ce qu'il a besoin.

    le rapport cible recevra le code salarié mais aura aussi un dataset avec tous les salariés par exemple filtrés sur d'autres paramètres reçus du 1er rapport : disons age du salarié - 10 / + 10.

    age ( coordonées du salarié X ) : série 1
    autres filtrés : série 2

    couleur série 1 : rouge , marker : x
    couleur série 2 : bleu , market : o

  12. #12
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    Salut,

    Oui cela fonctionnera comme cela, la personne consulte une fiche salarié puis elle clique sur un lien pour afficher le rapport.
    Le problème c'est que je n'arrive pas à savoir comment faire pour dissocier cette personne des autres personnes pour l'isoler dans la 2ème série.

    Un rapport peux posséder plusieurs Data Sets, mais un graphique n'est lié qu'a un seul Data Set, c'est bien ça ?
    Je suis désolé, j'ai du mal car je ne connais pas toutes les possibilités qu'offre BIRT.

    Merci de votre patience.

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Joint dataset
    Justement , le Joint dataset est là pour ça : fusionner 2 datasets de sources diverses :-)

    Sinon , la valeur sera stockée dans le paramètre ( provenant de ton rapport 1 )

    Tu peux donc indiquer la source de ta 2e série par params[MonSalarieSpecial]

    Pas besoin de dataset joint dans ce cas

    Screenshot joint
    Images attachées Images attachées  

  14. #14
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    Je fais quelques tests avec les Join Data Sets et je vous tiens au courant.
    Par contre si je choisi la solution avec le params[MonSalarieSpecial] il faut 2 coordonées, une pour X et l'autre pour Y.

    Je vais déjà essayer le join Data Set.

    merci

  15. #15
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut params et javascript
    rien ne t'empêche de passer 2 params X et Y , et de faire une expression Javascript dans le Expression Builder qui "joint" les 2 dans la définition de la série.

  16. #16
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    Salut,

    Bon ça y est j'ai réussi grâce à un Joint Data Sets et une jointure Full Outer Join.
    Ce data set regroupe un premier Data set qui retourne tous les salariés sauf celui que l'on veux mettre en avant et un autre data set qui retourne ce salarié.
    Ensuite je fait une jointure Full Outer Join.
    Enfin je fait 2 séries et ça fonctionne nickel.

    Merci cucubau123 pour ton aide précieuse, et à BiM.

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut perf
    Je me réjouis

    ceci dit , si les données du dataset principal vont être importantes , ton rapport va souffrir de cette jointure full outer en mémoire.

    il va falloir donc utiliser la concaténation des paramètres provenant du premier rapport comme indiqué dans ma soluce no2

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut exemple de surcharge des markers basé sur une valeur dans un chart
    Voici un exemple ( coder sur le OnRender du Chart )

    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
     
     
    function beforeDrawMarker( marker, dph, icsc )
    {
    	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl);
    	importPackage( Packages.org.eclipse.birt.chart.model.attribute);
    	//Legend Markers have null data point hints
    	if( dph == null ){
    		marker.setVisible(false);
    	}else{
    		var ms = dph.getOrthogonalValue()/8;
    		if( ms > 2 ){
    			marker.setSize(ms);
    			marker.setType(MarkerType.CROSS_LITERAL);
    		}else{
    			marker.setSize(4);
    			marker.setFill( ColorDefinitionImpl.RED( ) );
    			marker.setType(MarkerType.STAR_LITERAL);
    		}
    	}
    }
    Je peux te donner le rapport exemple ( c'est un 2.3 )

  19. #19
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    Salut à tous,

    De retour de vacance, une petite semaine ça fait du bien déjà.
    Bon en fait la solution du full outer join ne fonctionne pas.
    Je vais essayer la solution N°2.

    Je pensais pas que mon problème serai aussi compliqué quand même

    Merci

  20. #20
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Points : 68
    Points
    68
    Par défaut
    Bon ben je vois pas trop comment faire pour la solution N°2.
    Et je trouve pas beaucoup de ressource sur le net concernant les scripts BIRT.
    Je vais faire les autres rapports, peut-être que je trouverai une solution.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Vérifier l'existence d'un point dans un nuage de points
    Par MilWolf dans le forum Algorithmes et structures de données
    Réponses: 26
    Dernier message: 28/05/2015, 20h36
  2. Réponses: 2
    Dernier message: 10/03/2012, 14h54
  3. mettre plusieur couleur de points dans un nuage de points
    Par cedrix57 dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 05/03/2009, 09h04
  4. Réponses: 6
    Dernier message: 02/04/2008, 11h42
  5. Help : changer la couleur d'une point dans un Nuages de point
    Par yukka dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/05/2007, 11h30

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