Code SQL requête croisée tri spécifique sur "En-tête de colonne"
michail_arkov
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
michail_arkov Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
michail_arkov Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
requête d'analyse croisée : tri via une table de lien sur le champ "En-tête de colonne"
Bonjour à tous,
Je travaille depuis peu sur ACCESS (version 2003 en +), mais je pense que je progresse assez vite en toute autonomie. Cependant je vous sollicite car ça fait déjà 2,5 jours que je me triture l'esprit sans pour autant trouver la solution >_< même en fouillant dans les forums et en demandant dans mon entourage... (peut-être que je ne mets pas les bons mots clefs, mais bon j'en ai essayé pas mal).
Du coup j'explique ce que je veux faire :
Mon existant (le fichier ACCESS ci-joint : http://cjoint.com/data/0Fhoe2pEeer.htm)
j'ai une base de données "BDD_donnee" qui est composée de 3 variables :
- "tranche_age",
- "tranche_anciennete",
- "Nombre" (sur laquelle je peux faire mes analyses statistiques).
j'ai 2 tables de liens qui me permettent de mettre un ordre spécifique d'affichage des 2 variables correspondantes :
- "ordre_tranche_age" (pour ordonner les tranches d'âges spécifiquement)
- "ordre_tranche_anciennete" (pour ordonner les tranches d'ancienneté spécifiquement)
Mon but (requête "BDD_donnee_analyse_croisee")
faire un tableau croisé (via une requête croisée) avec les 2 champs d'analyses :
- "tranche_anciennete" en ligne ordonné via l'ordre donné dans la table de lien associée (j'y arrive ),
- "tranche_age" en colonne ordonné via l'ordre donné dans la table de lien associée (je n'y arrive pas ),
sans donner des instructions manuelles propres à cette étude car si on retouche les tranches ou qu'on les renommes etc... il ne faut pas retoucher toutes les requêtes, mais juste la table de lien associée !
Mes pistes étaient :
- trier ma base de donnée de départ (ou de travail) comme il fallait : ça ne marche pas
- faire plusieurs instructions PIVOT successives dans le code SQL associé : à tester + en profondeur car jusqu'à présent je n'y suis pas arrivé,
- faire plusieurs instructions SELECT successives dans le code SQL associé : à tester + en profondeur car jusqu'à présent je n'y suis pas arrivé,
Si jamais quelqu'un a déjà été confronté à cette problématique, et qu'en + il peut me trouver le code SQL qui solutionne ceci, ça serait super !
Merci par avance.
Bien à vous tous,
Bonjour à tous,
Je travaille depuis peu sur ACCESS (version 2003 en +), mais je pense que je progresse assez vite en toute autonomie. Cependant je vous sollicite car ça fait déjà 2,5 jours que je me triture l'esprit sans pour autant trouver la solution >_< même en fouillant dans les forums et en demandant dans mon entourage... (peut-être que je ne mets pas les bons mots clefs, mais bon j'en ai essayé pas mal).
Du coup j'explique ce que je veux faire :
Mon existant (le fichier ACCESS ci-joint : http://cjoint.com/data/0Fhoe2pEeer.htm)
j'ai une base de données "BDD_donnee" qui est composée de 3 variables :
- "tranche_age",
- "tranche_anciennete",
- "Nombre" (sur laquelle je peux faire mes analyses statistiques).
j'ai 2 tables de liens qui me permettent de mettre un ordre spécifique d'affichage des 2 variables correspondantes :
- "ordre_tranche_age" (pour ordonner les tranches d'âges spécifiquement)
- "ordre_tranche_anciennete" (pour ordonner les tranches d'ancienneté spécifiquement)
Mon but (requête "BDD_donnee_analyse_croisee")
faire un tableau croisé (via une requête croisée) avec les 2 champs d'analyses :
- "tranche_anciennete" en ligne ordonné via l'ordre donné dans la table de lien associée (j'y arrive ),
- "tranche_age" en colonne ordonné via l'ordre donné dans la table de lien associée (je n'y arrive pas ),
sans donner des instructions manuelles propres à cette étude car si on retouche les tranches ou qu'on les renommes etc... il ne faut pas retoucher toutes les requêtes, mais juste la table de lien associée !
Mes pistes étaient :
- trier ma base de donnée de départ (ou de travail) comme il fallait : ça ne marche pas
- faire plusieurs instructions PIVOT successives dans le code SQL associé : à tester + en profondeur car jusqu'à présent je n'y suis pas arrivé,
- faire plusieurs instructions SELECT successives dans le code SQL associé : à tester + en profondeur car jusqu'à présent je n'y suis pas arrivé,
Si jamais quelqu'un a déjà été confronté à cette problématique, et qu'en + il peut me trouver le code SQL qui solutionne ceci, ça serait super !
Merci par avance.
Bien à vous tous,
A voir également:
- Code SQL requête croisée tri spécifique sur "En-tête de colonne"
- Code ascii - Guide
- Trier colonne excel - Guide
- Déplacer colonne excel - Guide
- Colonne word - Guide
- Code de déverrouillage oublié - Guide
7 réponses
Salut,
j'ai une base de données "BDD_donnee" qui est composée de 3 variables
C'est quoi une variable, pour toi ?
j'ai une base de données "BDD_donnee" qui est composée de 3 variables
C'est quoi une variable, pour toi ?
Coucou,
C'est une table de données composée de 3 colonnes (variables car j'y fais des analyses dessus) :
- "tranche_age",
- "tranche_anciennete",
- "Nombre" (sur laquelle je peux faire mes analyses statistiques).
Merci par avance
C'est une table de données composée de 3 colonnes (variables car j'y fais des analyses dessus) :
- "tranche_age",
- "tranche_anciennete",
- "Nombre" (sur laquelle je peux faire mes analyses statistiques).
Merci par avance
Bonjour
Pour une requete analyse croisée,il faut 3 champs minimum
Un champ colonne, un champ ligne, un champ valeur
Tu peux mettre plusieur champs ligne jusqu a 3
Tu peux remettre le lien car il ne fonctionne plus
Pour une requete analyse croisée,il faut 3 champs minimum
Un champ colonne, un champ ligne, un champ valeur
Tu peux mettre plusieur champs ligne jusqu a 3
Tu peux remettre le lien car il ne fonctionne plus
Bonjour à tous,
Pour la requête croisée, j'ai bien noté pour le nombre de champ minimum.
Justement mon exemple contient 3 champs :
- 1 champ ligne,
- 1 champ colonne,
- 1 champ valeur.
Voici le nouveau lien que j'ai mis en illimité en espérant qu'il marche bien car j'avais pourtant fait attention : https://www.cjoint.com/?CFko0GoXy3R
Pour la requête croisée, j'ai bien noté pour le nombre de champ minimum.
Justement mon exemple contient 3 champs :
- 1 champ ligne,
- 1 champ colonne,
- 1 champ valeur.
Voici le nouveau lien que j'ai mis en illimité en espérant qu'il marche bien car j'avais pourtant fait attention : https://www.cjoint.com/?CFko0GoXy3R
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Lors d'une somme sur des champs il ne faut pas nomer les champs par des chiffres et les signes arimethiques.
lorsque que tu veux additinner +50ans et 0-15ans.
Access ne reconnait pas ces champs
https://www.cjoint.com/?CFnrXnUsjNg
dans ce lien ta base avec les relations faites et un etatou j'ai commencer a additionner les colonnes mais lorsque j'ai voulu faire la somme d'une ligne access refuse pour les raisons expliquées plus hauts
Lors d'une somme sur des champs il ne faut pas nomer les champs par des chiffres et les signes arimethiques.
lorsque que tu veux additinner +50ans et 0-15ans.
Access ne reconnait pas ces champs
https://www.cjoint.com/?CFnrXnUsjNg
dans ce lien ta base avec les relations faites et un etatou j'ai commencer a additionner les colonnes mais lorsque j'ai voulu faire la somme d'une ligne access refuse pour les raisons expliquées plus hauts
Bonjour
Peut etre trouver une solution dans ce nouveau lien
https://www.cjoint.com/?CFnwGSITNVy
Tiens moi au courant
Peut etre trouver une solution dans ce nouveau lien
https://www.cjoint.com/?CFnwGSITNVy
Tiens moi au courant
Bonjour castours,
Avant tout merci pour ta réponse, c'est une solution en effet, cependant je n'ai malheureusement pas code SQL pour ma requête >_<.
En fait je ne dois rester que sur des tables et requêtes ACCESS 2003.
Du coup, est-il possible de faire pareil sans passer par des formulaires, états ou même macro ? Juste du code SQL ?
Si tel est le cas, alors ça répondrait parfaitement à ma problématique
Du coup en attendant je continue sur mes pistes à tester + en profondeur car jusqu'à présent je n'y suis pas arrivé :
- faire plusieurs instructions PIVOT successives dans le code SQL associé,
- faire plusieurs instructions SELECT successives dans le code SQL associé.
En tout cas j'ai déjà du code si je passe par les états
A+
Avant tout merci pour ta réponse, c'est une solution en effet, cependant je n'ai malheureusement pas code SQL pour ma requête >_<.
En fait je ne dois rester que sur des tables et requêtes ACCESS 2003.
Du coup, est-il possible de faire pareil sans passer par des formulaires, états ou même macro ? Juste du code SQL ?
Si tel est le cas, alors ça répondrait parfaitement à ma problématique
Du coup en attendant je continue sur mes pistes à tester + en profondeur car jusqu'à présent je n'y suis pas arrivé :
- faire plusieurs instructions PIVOT successives dans le code SQL associé,
- faire plusieurs instructions SELECT successives dans le code SQL associé.
En tout cas j'ai déjà du code si je passe par les états
A+
Bonjour
Si le resultat te convient pour avoir le code sql generé par la requete, tu passes en creation , afichage ,mode SQL.
Ce quite donne ceci:
TRANSFORM Sum(BDD_donnee.Nombre) AS SommeDeNombre1
SELECT BDD_donnee.tranche_anciennete, Sum(BDD_donnee.Nombre) AS SommeDeNombre
FROM ordre_tranche_anciennete INNER JOIN (ordre_tranche_age INNER JOIN BDD_donnee ON ordre_tranche_age.tranche_age = BDD_donnee.tranche_age) ON ordre_tranche_anciennete.tranche_anciennete = BDD_donnee.tranche_anciennete
GROUP BY BDD_donnee.tranche_anciennete, ordre_tranche_anciennete.ordre
ORDER BY ordre_tranche_anciennete.ordre
PIVOT BDD_donnee.tranche_age;
Si le resultat te convient pour avoir le code sql generé par la requete, tu passes en creation , afichage ,mode SQL.
Ce quite donne ceci:
TRANSFORM Sum(BDD_donnee.Nombre) AS SommeDeNombre1
SELECT BDD_donnee.tranche_anciennete, Sum(BDD_donnee.Nombre) AS SommeDeNombre
FROM ordre_tranche_anciennete INNER JOIN (ordre_tranche_age INNER JOIN BDD_donnee ON ordre_tranche_age.tranche_age = BDD_donnee.tranche_age) ON ordre_tranche_anciennete.tranche_anciennete = BDD_donnee.tranche_anciennete
GROUP BY BDD_donnee.tranche_anciennete, ordre_tranche_anciennete.ordre
ORDER BY ordre_tranche_anciennete.ordre
PIVOT BDD_donnee.tranche_age;
Ok merci, justement c'est à partir de ce code de base que je suis en train de chercher à voir s'il n'y a pas des possibilités de retouches à faire car le mode création ne permet pas parfois de tout faire.
A voir donc, j'essaie encore de combiner des SELECT, PIVOT et autres à l'intérieur de certaines commandes.
A voir donc, j'essaie encore de combiner des SELECT, PIVOT et autres à l'intérieur de certaines commandes.