Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

"Transposer" le résultat d'une requête

2 réponses
Avatar
C15
Bonjour à tous et à toutes,

Dans une base où je gère les membres d'une association, j'ai une 1ère
requête pour faire des stats depuis la création de l'assoc :
par année j'ai les nombres des nouveaux adhérents, les sortants, le bilan de
l'effectif, le lieu de l'assemblée générale.

SELECT [R Cumul annuel des adhérents].An, [R Cumul annuel des
adhérents].Adhérents, [R Cumul annuel des adhérents].Décédés, [R Cumul
annuel des adhérents].Sortants, [R Cumul annuel des adhérents].Cumul, [R
Cumul annuel des adhérents].[Radiés+Démissions], [R Cumul annuel des
adhérents].[Cumul sortants], [R Cumul annuel des adhérents].[Effectif AHA],
[T Villes AG].VilleAG
FROM [R bilan adhérents par an] INNER JOIN ([T Villes AG] INNER JOIN [R
Cumul annuel des adhérents] ON [T Villes AG].Annee_AG = [R Cumul annuel des
adhérents].An) ON [R bilan adhérents par an].Année = [T Villes AG].Annee_AG;


J'ai une 2ième requête où je calcule, par année le nombre d'adhérents
présents à chaque AG (je fais la somme de cases à cocher) :

SELECT -Sum([R présence AG]!AG83) AS 1983, -Sum([R présence AG]!AG84) AS
1984, -Sum([R présence AG]!AG85) AS 1985, -Sum([R présence AG]!AG86) AS
1986, -Sum([R présence AG]!AG87) AS 1987, -Sum([R présence AG]!AG88) AS
1988, -Sum([R présence AG]!AG89) AS 1989, -Sum([R présence AG]!AG90) AS
1990, -Sum([R présence AG]!AG91) AS 1991, -Sum([R présence AG]!AG92) AS
1992, -Sum([R présence AG]!AG93) AS 1993, -Sum([R présence AG]!AG94) AS
1994, -Sum([R présence AG]!AG95) AS 1995, -Sum([R présence AG]!AG96) AS
1996, -Sum([R présence AG]!AG97) AS 1997, -Sum([R présence AG]!AG98) AS
1998, -Sum([R présence AG]!AG99) AS 1999, -Sum([R présence AG]!AG00) AS
2000, -Sum([R présence AG]!AG01) AS 2001, -Sum([R présence AG]!AG02) AS
2002, -Sum([R présence AG]!AG03) AS 2003, -Sum([R présence AG]!AG04) AS
2004, -Sum([R présence AG]!AG05) AS 2005, -Sum([R présence AG]!AG06) AS
2006, -Sum([R présence AG]!AG07) AS 2007, -Sum([R présence AG]!AG08) AS
2008, -Sum([R présence AG]!AG09) AS 2009, -Sum([R présence AG]!AG10) AS
2010, -Sum([R présence AG]!AG11) AS 2011, -Sum([R présence AG]!AG12) AS
2012, -Sum([R présence AG]!AG13) AS 2013, -Sum([R présence AG]!AG14) AS
2014, -Sum([R présence AG]!AG15) AS 2015
FROM [R présence AG];

J'obtiens ainsi une feuille de réponse avec une colonne par année et le
nombre de présent.

J'aurai voulu "transposer" cette feuille de réponse pour avoir une ligne par
année et dans la colonne d'à côté les présents, afin de rajouter ces valeurs
dans une nouvelle colonne de ma 1ère requête.

Comment faire ?

Peut-être mon raisonnement est-il totalement faux, maais alors comment
additionner dans une même colonne le nombre de cases cochées ?

Merci de votre aide.

A+

C15

2 réponses

Avatar
Michel_D
Regarde si ce qui suit correspond à ce que tu souhaite obtenir :
SELECT "1983" AS Annee, -Sum([R présence AG]!AG83) AS Nombre
FROM [R présence AG]
UNION SELECT "1984", -Sum([R présence AG]!AG84) AS Nombre
FROM [R présence AG]
UNION SELECT "1985", -Sum([R présence AG]!AG85) AS Nombre
FROM [R présence AG]
...
UNION SELECT "2015", -Sum([R présence AG]!AG15) AS Nombre
FROM [R présence AG];



" C15" a écrit dans le message de news:46895ba7$0$21143$
Bonjour à tous et à toutes,

Dans une base où je gère les membres d'une association, j'ai une 1ère
requête pour faire des stats depuis la création de l'assoc :
par année j'ai les nombres des nouveaux adhérents, les sortants, le bilan de
l'effectif, le lieu de l'assemblée générale.

SELECT [R Cumul annuel des adhérents].An, [R Cumul annuel des
adhérents].Adhérents, [R Cumul annuel des adhérents].Décédés, [R Cumul
annuel des adhérents].Sortants, [R Cumul annuel des adhérents].Cumul, [R
Cumul annuel des adhérents].[Radiés+Démissions], [R Cumul annuel des
adhérents].[Cumul sortants], [R Cumul annuel des adhérents].[Effectif AHA],
[T Villes AG].VilleAG
FROM [R bilan adhérents par an] INNER JOIN ([T Villes AG] INNER JOIN [R
Cumul annuel des adhérents] ON [T Villes AG].Annee_AG = [R Cumul annuel des
adhérents].An) ON [R bilan adhérents par an].Année = [T Villes AG].Annee_AG;


J'ai une 2ième requête où je calcule, par année le nombre d'adhérents
présents à chaque AG (je fais la somme de cases à cocher) :

SELECT -Sum([R présence AG]!AG83) AS 1983, -Sum([R présence AG]!AG84) AS
1984, -Sum([R présence AG]!AG85) AS 1985, -Sum([R présence AG]!AG86) AS
1986, -Sum([R présence AG]!AG87) AS 1987, -Sum([R présence AG]!AG88) AS
1988, -Sum([R présence AG]!AG89) AS 1989, -Sum([R présence AG]!AG90) AS
1990, -Sum([R présence AG]!AG91) AS 1991, -Sum([R présence AG]!AG92) AS
1992, -Sum([R présence AG]!AG93) AS 1993, -Sum([R présence AG]!AG94) AS
1994, -Sum([R présence AG]!AG95) AS 1995, -Sum([R présence AG]!AG96) AS
1996, -Sum([R présence AG]!AG97) AS 1997, -Sum([R présence AG]!AG98) AS
1998, -Sum([R présence AG]!AG99) AS 1999, -Sum([R présence AG]!AG00) AS
2000, -Sum([R présence AG]!AG01) AS 2001, -Sum([R présence AG]!AG02) AS
2002, -Sum([R présence AG]!AG03) AS 2003, -Sum([R présence AG]!AG04) AS
2004, -Sum([R présence AG]!AG05) AS 2005, -Sum([R présence AG]!AG06) AS
2006, -Sum([R présence AG]!AG07) AS 2007, -Sum([R présence AG]!AG08) AS
2008, -Sum([R présence AG]!AG09) AS 2009, -Sum([R présence AG]!AG10) AS
2010, -Sum([R présence AG]!AG11) AS 2011, -Sum([R présence AG]!AG12) AS
2012, -Sum([R présence AG]!AG13) AS 2013, -Sum([R présence AG]!AG14) AS
2014, -Sum([R présence AG]!AG15) AS 2015
FROM [R présence AG];

J'obtiens ainsi une feuille de réponse avec une colonne par année et le
nombre de présent.

J'aurai voulu "transposer" cette feuille de réponse pour avoir une ligne par
année et dans la colonne d'à côté les présents, afin de rajouter ces valeurs
dans une nouvelle colonne de ma 1ère requête.

Comment faire ?

Peut-être mon raisonnement est-il totalement faux, maais alors comment
additionner dans une même colonne le nombre de cases cochées ?

Merci de votre aide.

A+

C15





Avatar
C15
Bonjour Michel,

J'ai corrigé un tout petit peu ta proposition car

d'une part tu avais oublié de répéter à chaque fois As Annee,
d'autre part "1983" était considéré comme du texte et lorsque je faisais ma
liaison dans ma 1ère requête, il y avait une incompatibilité de type.

Ces corrections minimes effectuées, j'ai donc pour ma 2ième requête :

SELECT 1983 AS ANNEE, -Sum([R présence AG]!AG83) AS Nombre FROM [R présence
AG]
UNION
SELECT 1984 AS ANNEE, -Sum([R présence AG]!AG84) AS Nombre FROM [R présence
AG]
UNION
SELECT 1985 AS ANNEE, -Sum([R présence AG]!AG85) AS Nombre FROM [R présence
AG]
...

Et cela marche !!!!

Merci beaucoup de ton aide, cela va m'éviter de passer par Excel avec une
manipulation lourde, manuelle ...et risquée.

A+

C15


"Michel_D" a écrit dans le message de
news: f6d2du$1ci$
Regarde si ce qui suit correspond à ce que tu souhaite obtenir :
SELECT "1983" AS Annee, -Sum([R présence AG]!AG83) AS Nombre
FROM [R présence AG]
UNION SELECT "1984", -Sum([R présence AG]!AG84) AS Nombre
FROM [R présence AG]
UNION SELECT "1985", -Sum([R présence AG]!AG85) AS Nombre
FROM [R présence AG]
...
UNION SELECT "2015", -Sum([R présence AG]!AG15) AS Nombre
FROM [R présence AG];



" C15" a écrit dans le message de
news:46895ba7$0$21143$
Bonjour à tous et à toutes,

Dans une base où je gère les membres d'une association, j'ai une 1ère
requête pour faire des stats depuis la création de l'assoc :
par année j'ai les nombres des nouveaux adhérents, les sortants, le bilan
de
l'effectif, le lieu de l'assemblée générale.

SELECT [R Cumul annuel des adhérents].An, [R Cumul annuel des
adhérents].Adhérents, [R Cumul annuel des adhérents].Décédés, [R Cumul
annuel des adhérents].Sortants, [R Cumul annuel des adhérents].Cumul, [R
Cumul annuel des adhérents].[Radiés+Démissions], [R Cumul annuel des
adhérents].[Cumul sortants], [R Cumul annuel des adhérents].[Effectif
AHA],
[T Villes AG].VilleAG
FROM [R bilan adhérents par an] INNER JOIN ([T Villes AG] INNER JOIN [R
Cumul annuel des adhérents] ON [T Villes AG].Annee_AG = [R Cumul annuel
des
adhérents].An) ON [R bilan adhérents par an].Année = [T Villes
AG].Annee_AG;


J'ai une 2ième requête où je calcule, par année le nombre d'adhérents
présents à chaque AG (je fais la somme de cases à cocher) :

SELECT -Sum([R présence AG]!AG83) AS 1983, -Sum([R présence AG]!AG84) AS
1984, -Sum([R présence AG]!AG85) AS 1985, -Sum([R présence AG]!AG86) AS
1986, -Sum([R présence AG]!AG87) AS 1987, -Sum([R présence AG]!AG88) AS
1988, -Sum([R présence AG]!AG89) AS 1989, -Sum([R présence AG]!AG90) AS
1990, -Sum([R présence AG]!AG91) AS 1991, -Sum([R présence AG]!AG92) AS
1992, -Sum([R présence AG]!AG93) AS 1993, -Sum([R présence AG]!AG94) AS
1994, -Sum([R présence AG]!AG95) AS 1995, -Sum([R présence AG]!AG96) AS
1996, -Sum([R présence AG]!AG97) AS 1997, -Sum([R présence AG]!AG98) AS
1998, -Sum([R présence AG]!AG99) AS 1999, -Sum([R présence AG]!AG00) AS
2000, -Sum([R présence AG]!AG01) AS 2001, -Sum([R présence AG]!AG02) AS
2002, -Sum([R présence AG]!AG03) AS 2003, -Sum([R présence AG]!AG04) AS
2004, -Sum([R présence AG]!AG05) AS 2005, -Sum([R présence AG]!AG06) AS
2006, -Sum([R présence AG]!AG07) AS 2007, -Sum([R présence AG]!AG08) AS
2008, -Sum([R présence AG]!AG09) AS 2009, -Sum([R présence AG]!AG10) AS
2010, -Sum([R présence AG]!AG11) AS 2011, -Sum([R présence AG]!AG12) AS
2012, -Sum([R présence AG]!AG13) AS 2013, -Sum([R présence AG]!AG14) AS
2014, -Sum([R présence AG]!AG15) AS 2015
FROM [R présence AG];

J'obtiens ainsi une feuille de réponse avec une colonne par année et le
nombre de présent.

J'aurai voulu "transposer" cette feuille de réponse pour avoir une ligne
par
année et dans la colonne d'à côté les présents, afin de rajouter ces
valeurs
dans une nouvelle colonne de ma 1ère requête.

Comment faire ?

Peut-être mon raisonnement est-il totalement faux, maais alors comment
additionner dans une même colonne le nombre de cases cochées ?

Merci de votre aide.

A+

C15