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 :

Tableau croisé dynamique : plusieurs colonnes


Sujet :

BIRT

  1. #1
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut Tableau croisé dynamique : plusieurs colonnes
    Bonjour à tous,

    je cherche à obtenir sous BIRT le tableau croisé dynamique suivant
    le nb de mes candidats par lieu de rattachement et filière ET le nb de mes candidats par lieu de rattachement et titre...
    Mais je ne réussis sous BIRT qu'à obtenir un double tri: le nb de mes candidats par rattachement et filière et titre.
    (première miniature)

    Comment faire pour avoir non pas une colonne de groupe dans mon tableau croisé dynamique mais deux ? est-ce possible?(deuxième miniature)

    merci d'avance pour votre aide
    Feel good, feel geek

  2. #2
    Membre habitué Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Points : 147
    Points
    147
    Par défaut
    En fait tu essayes de joindre deux tables distinctes... ce n'est pas possible directement...

    Pourrais tu nous fournir l'ordre SQL (si s'en est un) qui correspond.
    Je pense que c'est à ce niveau là qu'il faut travailler.

  3. #3
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    eh bien la requête SQL est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select type_filiere.lib_fil,candidat.titre,candidat.num_candidat,candidat.naissanceamj,lieu_rattachement.lib_lieu
    from (candidat INNER JOIN type_filiere ON candidat.filiere=type_filiere.num_fil) INNER JOIN lieu_rattachement ON candidat.lieu_ratachement=lieu_rattachement.num_lieu
    je travaille avec 3 tables: la table candidat, qui est liée aux tables type_filiere et lieu_rattachement.
    Un enregistrement dans candidat correpond à un enregistrement dans type_filiere et à un enregistrement dans lieu_rattachement: j'ai besoin de ces 3 tables pour obtenir mes résultats...comment puis-je faire?
    Feel good, feel geek

  4. #4
    Membre habitué Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Points : 147
    Points
    147
    Par défaut
    Je ferais bien un truc comme ca :
    SELECT lieu_rattachement.lib_lieu AS LIEU,
    "Filière" AS TYPE,
    type_filiere.lib_fil AS SOUSTYPE,
    candidat.num_candidat
    from (candidat INNER JOIN type_filiere ON candidat.filiere=type_filiere.num_fil) INNER JOIN lieu_rattachement ON candidat.lieu_ratachement=lieu_rattachement.num_lieu
    UNION
    SELECT lieu_rattachement.lib_lieu AS LIEU,
    "Titre" AS TYPE,
    candidat.titre AS SOUSTYPE,
    candidat.num_candidat
    from INNER JOIN lieu_rattachement ON candidat.lieu_ratachement=lieu_rattachement.num_lieu
    Et tu construit ton datacube:
    Group1 : TYPE, SOUSTYPE
    Group2 : LIEU

    Ca doit le faire non ?

  5. #5
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    J'essaye ça tout de suite
    Feel good, feel geek

  6. #6
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    non ça ne marche pas , la requête elle-même n'est pas acceptée
    mais comment aurait-il pu accepter:
    "Titre" AS TYPE?
    Feel good, feel geek

  7. #7
    Membre habitué Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Points : 147
    Points
    147
    Par défaut
    Mea culpa c'est un mot réservé...
    Essayes d'utilier "COL1" et "COL2" au lieu de "TYPE" et "SOUSTYPE"


    Je t'avoue ne pas voir vérifié la syntaxe n'ayant pas ces tables à disposition...

  8. #8
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    snif..non ça ne marche toujours pas...mais je ne suis pas sûre d'avoir bien compris:
    tu veux vraiment que j'écrive: ?
    je ne dois pas mettre quelque chose à la place de filière? je ne comprends pas la démarche de ta requête...?
    Feel good, feel geek

  9. #9
    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,

    Quelle est ton erreur ?
    Quelle version utilises-tu ?
    Quel type de source de données utilises-tu ?
    Quelle est la description exacte de ta table ?

  10. #10
    Membre habitué Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Points : 147
    Points
    147
    Par défaut
    oui c'était bien ça.
    Pourrais tu me donner l'ordre SQL tel que tu l'as écris (avec mes modifs) et le message d'erreur que tu reçois.

  11. #11
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Les doubles quotes doivent être remplacées par des simples quotes sur certaines bases (Oracle, ...)

  12. #12
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    Bonjour,
    merci pour vos réponses, en fait j'ai avancé et trouvé l'erreur SQL, c'était un simple oubli, j'ai donc ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT lieu_rattachement.lib_lieu AS LIEU,
    "Filière" AS COL1,
    type_filiere.lib_fil AS COL2,
    candidat.num_candidat
    from (candidat INNER JOIN type_filiere ON candidat.filiere=type_filiere.num_fil) INNER JOIN lieu_rattachement ON candidat.lieu_ratachement=lieu_rattachement.num_lieu
    UNION
    SELECT lieu_rattachement.lib_lieu AS LIEU,
    "Titre" AS COL1,
    candidat.titre AS COL2, 
    candidat.num_candidat
    from candidat INNER JOIN lieu_rattachement ON candidat.lieu_ratachement=lieu_rattachement.num_lieu
    aucun problème jusque là, je crée ensuite le Datacube et mon tableau comme montré sur la miniature, mais le résultat ne contient pas les données qui m'intéressent..????j'ai essayé différentes méthodes pour mon datacube et mon tableau, je n'obtiens pas plus de résultats..
    Feel good, feel geek

  13. #13
    Membre habitué Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Points : 147
    Points
    147
    Par défaut
    Tu as oublié d'afficher COL2...

    Supprimes aussi le LABEL "num_candidat" qui ne sert à rien en entête de colonne...

  14. #14
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    j'ai essayé... j'obtiens les deux catégories mélangées...
    non, j'ai besoin de quelque chose de plus pratique pour créer mes tableaux...la requête en elle-même est trop difficile à faire, je dois pouvoir créer ces tableaux plus facilement...mais pour le moment je ne vois pas comment...si quelqu'un a une idée..Merci d'avance...
    Feel good, feel geek

  15. #15
    Membre habitué Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Points : 147
    Points
    147
    Par défaut
    Dans la dernière copie que tu nous donnes tu as COL2 mais tu n'as plus COL1...

    Il faut afficher les 2 !

  16. #16
    Membre habitué Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Points : 147
    Points
    147
    Par défaut
    courage !

  17. #17
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    merci GAEREL, je n'y arrivais pas par drag and drop , en fait je l'ai avec clic droit et show/hide level groups, c'est effectivement ok, j'ai mon tableau croisé dynamique, mais je cherchais quelque chose de plus simple...j'aurais voulu faire mon tableau croisé dynamique en me basant sur ma requête d'origine...
    Manifestement c'est impossible, il va falloir que je trouve autre chose...
    en créant plusieurs datsets peut être...
    merci à tous pour votre aide!
    Feel good, feel geek

  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 Tableau non croisé
    Si vous souhaitez avoir ce niveau de flexibilité proche de Excel il va falloir utiliser un Tableau simple. Par contre, les données devront être formattés en colonnes et ça demandera un peu plus de travail sur le tableau.

    Simple curiosité, ces rapports doivent avoir une sortie HTML, ou un rendu Excel pourrait suffire?

  19. #19
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    un rendu Excel pourrait dans certains cas suffirent mais pas toujours..en fait j'utilise BIRT lié à Spagobi...pourquoi?
    Feel good, feel geek

  20. #20
    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 Chaque besoin son outil.
    Parce qu'il existe d'autres outils pour ce faire.

    http://www.birt-exchange.com/product...port-designer/

    Cet outil sait générer des tableaux très complexes, croisés ou non, avec soustotaux etc.

    Par contre celui-ci il ne sait générer que du Excel et du PDF et il a un prix.

    Ca marche sur des sources Relationnelles, Web Services, Hibernate, cubes OLAP etc.

Discussions similaires

  1. report studio-tableau croisé sur plusieurs colonnes
    Par biplume dans le forum Cognos
    Réponses: 2
    Dernier message: 26/09/2013, 14h02
  2. Tableau croisé dynamique : sous colonnes
    Par Acid59 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 03/06/2013, 08h37
  3. [XL-2010] Tableau croisé dynamique - filtre + colonne
    Par dickinson dans le forum Conception
    Réponses: 2
    Dernier message: 27/08/2012, 09h00
  4. [CR XI] Tableau croisé dynamique : insérer colonne personalisée / sous total
    Par Soheel dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/12/2009, 15h29
  5. [OpenOffice][Tableur] Tableau croisé dynamique en colonne
    Par Skank dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 18/11/2009, 17h06

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