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

requête analyse croisée multi valeurs

2 réponses
Avatar
eric
Bonjour,
est-il possible de créer sous access 2000 une requête analyse croisée avec
plusieurs valeurs.
Je m'explique:
1 table avec les champs suivants
idrepresentant
annee
mois
Ca
valomarge
Je souhaite:obtenir

entête ligne :année ;idrepresentant
entête colonne: mois
valeurs: somme ca ; somme valomarge

cela n'est pas possible avec la requête analyse croisée standart mais peut
être quelqu'un a-t-il une solution via vba ou sql.
Cordialement

2 réponses

Avatar
Michel_D
Bonjour,

Bonjour,
est-il possible de créer sous access 2000 une requête analyse croisée avec
plusieurs valeurs.
Je m'explique:
1 table avec les champs suivants
idrepresentant
annee
mois
Ca
valomarge
Je souhaite:obtenir

entête ligne :année ;idrepresentant
entête colonne: mois
valeurs: somme ca ; somme valomarge

cela n'est pas possible avec la requête analyse croisée standart mais peut
être quelqu'un a-t-il une solution via vba ou sql.
Cordialement



Disons que c'est bien une requête analyse croisée qui va donner le résultat
final mais il va falloir d'abord (ré)organiser les données afin de les
présenter différemment, voici ma proposition en 2 requêtes :

La 1ère requête qui réorganise les données nommée "ReqPrepare" (à adapter):

SELECT T1.annee,T1.representant,T1.mois,"Ca" AS ChPivot,Sum(T1.Ca) AS Valeur
FROM TaTable AS T1
GROUP BY T1.annee,T1.representant,T1.mois
UNION SELECT T1.annee,T1.representant,T1.mois,"valomarge",Sum(T1.valomarge)
FROM TaTable AS T1
GROUP BY T1.annee,T1.representant,T1.mois;


Et la requête d'analyse croisée qui donne le résultat :

TRANSFORM First(T.Valeur) AS Valeur
SELECT T.annee, T.idrepresentant
FROM ReqPrepare AS T
GROUP BY T.annee, T.idrepresentant
ORDER BY T.annee, T.idrepresentant
PIVOT T.ChPivot & T.mois IN ('Ca1','valomarge1','Ca2','valomarge2');

Avatar
eric
Merci Michel,

C'est dans l'esprit de ce à quoi je suis arrivé de mon coté (avec quelques
requêtes intermédiares en sus)
Merci encore pour ta diligence.
Cordialement
Eric


Bonjour,

Bonjour,
est-il possible de créer sous access 2000 une requête analyse croisée avec
plusieurs valeurs.
Je m'explique:
1 table avec les champs suivants
idrepresentant
annee
mois
Ca
valomarge
Je souhaite:obtenir

entête ligne :année ;idrepresentant
entête colonne: mois
valeurs: somme ca ; somme valomarge

cela n'est pas possible avec la requête analyse croisée standart mais peut
être quelqu'un a-t-il une solution via vba ou sql.
Cordialement



Disons que c'est bien une requête analyse croisée qui va donner le résultat
final mais il va falloir d'abord (ré)organiser les données afin de les
présenter différemment, voici ma proposition en 2 requêtes :

La 1ère requête qui réorganise les données nommée "ReqPrepare" (à adapter):

SELECT T1.annee,T1.representant,T1.mois,"Ca" AS ChPivot,Sum(T1.Ca) AS Valeur
FROM TaTable AS T1
GROUP BY T1.annee,T1.representant,T1.mois
UNION SELECT T1.annee,T1.representant,T1.mois,"valomarge",Sum(T1.valomarge)
FROM TaTable AS T1
GROUP BY T1.annee,T1.representant,T1.mois;


Et la requête d'analyse croisée qui donne le résultat :

TRANSFORM First(T.Valeur) AS Valeur
SELECT T.annee, T.idrepresentant
FROM ReqPrepare AS T
GROUP BY T.annee, T.idrepresentant
ORDER BY T.annee, T.idrepresentant
PIVOT T.ChPivot & T.mois IN ('Ca1','valomarge1','Ca2','valomarge2');