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

IHM Discussion :

analyse croisé, problème nombres de colonnes. [AC-2007]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 24
    Points : 16
    Points
    16
    Par défaut analyse croisé, problème nombres de colonnes.
    Bonjour a tous ceux qui vont passer sur ce topic.

    je vous remercie d'avance pour les réponses que vous allez m'apporter.

    il s'agit donc d'une analyse croisé.

    qui porte principalement sur 3 tables.
    tbl_constat
    tbl_criteres
    tbl_cotations

    je vous donne mon schéma de relations de tables:



    donc, point important, c'est la d'ou vient le problème selon moi.
    j'éffectue sur la table tbl_constat une recherche mutli critères fonctionnelles qui me trient les id_constat en fonction de la date_constat, de l'entreprise auditrice, partenaire, du poste_a.
    le nombre de paramêtres est varaibles et donne donc lieu a une liste d'id_constat plus ou grande.
    la requete en question s'appelle R_Choix.

    R_Choix sert de point d'appui a mon analyse croisé car directement lié a la table tbl_cotations.

    voici le code SQL de mon analyse croisée.

    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TRANSFORM Nz(Count(tbl_cotations.constat),0) AS CompteDeconstat
    SELECT tbl_criteres.nom_critere
    FROM tbl_criteres INNER JOIN (R_Choix INNER JOIN tbl_cotations ON R_Choix.id_constat = tbl_cotations.constat) ON tbl_criteres.id_critere = tbl_cotations.critere
    GROUP BY tbl_criteres.nom_critere
    PIVOT tbl_cotations.cotation;

    cela marche très bien tant que la liste d'id_constat est suffisament grande pour qu'il y a au moins 1 critère dont la somme soit supérieur a 0 dans une colonne.

    comme par exemple cette analyse croisée, qui marche bien:



    a contrario celle-ci qui m'a supprimé les colonnes qui n'avait aucun critères différents de 0.




    ma question: comment faire conserver ces colonnes car l'information "mon critère de cotation = 0" est importante pour moi, et la dispariton des ces colonnes bug mon état, qui est posé sur cette analyse croisé, qui attend 6 colonnes pour rentrer les donner dans un tableau, que je souhaite imprimer.

    Merci d'avance de vos réponses.
    Si mon post manque d'explication, n'hésiter pas, j'éditerai dès que possible.

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Salut,

    Je ne suis pas sur d'avoir bien saisi ta demande

    Mais si tu souhaites forcer l'affichage de tes 6 colonnes tu peux utiliser 1 In sur ton pivot:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM Nz(Count(tbl_cotations.constat),0) AS CompteDeconstat
    SELECT tbl_criteres.nom_critere
    FROM tbl_criteres INNER JOIN (R_Choix INNER JOIN tbl_cotations ON R_Choix.id_constat = tbl_cotations.constat) ON tbl_criteres.id_critere = tbl_cotations.critere
    GROUP BY tbl_criteres.nom_critere
    PIVOT tbl_cotations.cotation In (1,2,3,4,5,6) ;

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    c'est exactement ça ! merci User. enfin c'est peu être tôt. je vais d'abord tester ton code pour voir si tu ne me dis pas des bétises

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    comme je m'y attendais a la 1er lecteure

    ca marche beaucoup mieux comme ca:

    TRANSFORM Nz(Count(tbl_cotations.constat),0) AS CompteDeconstat
    SELECT tbl_criteres.nom_critere
    FROM tbl_criteres INNER JOIN (R_Choix INNER JOIN tbl_cotations ON R_Choix.id_constat = tbl_cotations.constat) ON tbl_criteres.id_critere = tbl_cotations.critere
    GROUP BY tbl_criteres.nom_critere
    PIVOT tbl_cotations.cotation IN( 1, 2, 3, "A", "B", "C");
    mais je te remercie. j'ai galéré depuis 8h ce matin. ton idée était la bonne !
    donc tout le mérite te revient. merci de ton aide.

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

Discussions similaires

  1. [AC-2010] État analyse croisé, En-tête de colonnes
    Par MoMo601 dans le forum IHM
    Réponses: 2
    Dernier message: 14/01/2014, 00h15
  2. Problème recherche nombre dans colonne
    Par kanabzh29 dans le forum Excel
    Réponses: 10
    Dernier message: 25/09/2008, 13h33
  3. problème avec requête d'analyse croisé!
    Par sofien dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/06/2008, 12h45
  4. Réponses: 1
    Dernier message: 07/04/2008, 17h14
  5. Réponses: 1
    Dernier message: 22/12/2005, 09h39

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