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

Analyse croisée à plusieurs valeurs

5 réponses
Avatar
Le niouf
Bonjour j'ai une requête qui sommarise des données par date, par departement.
Je veux faire une analyse croisée de ces données sur plus d'une valeur, mais
je n'y arrive pas. Voici ce que j'aimerais avoir à partir de ma table :

Table :
Date travaillée
Département
Hrs gagnées
Hrs Dir
Hrs Ind

Le résultat que j'aimerais avoir est :

En tête de ligne : Département
En tête de colonne : Date travaillées
Valeur : Hres gagnées, Hrs Dir, Hrs Ind

Si quelqu'un a déja fait quelque chose de similaire est-ce possible par
query ou par code vba.

Merci
Bonne journée

5 réponses

Avatar
Michel__D
Bonjour,

"Le niouf" a écrit dans le message de news:
Bonjour j'ai une requête qui sommarise des données par date, par departement.
Je veux faire une analyse croisée de ces données sur plus d'une valeur, mais
je n'y arrive pas. Voici ce que j'aimerais avoir à partir de ma table :

Table :
Date travaillée
Département
Hrs gagnées
Hrs Dir
Hrs Ind

Le résultat que j'aimerais avoir est :

En tête de ligne : Département
En tête de colonne : Date travaillées
Valeur : Hres gagnées, Hrs Dir, Hrs Ind

Si quelqu'un a déja fait quelque chose de similaire est-ce possible par
query ou par code vba.



Si j'ai bien compris, regarde ma proposition en 2 requêtes (mode SQL) :

La 1ère requête nommé "LaRequete"

SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]
UNION

SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]
UNION

SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]

Puis la requête qui donne le résultat :

TRANSFORM First(R.Valeur)
SELECT R.[Département], R.TypeHeure
FROM LaRequete AS R
GROUP BY R.[Département], R.TypeHeure
PIVOT R.[Date travaillée];
Avatar
Michel__D
"Michel__D" a écrit dans le message de news:gjd393$28u$
Bonjour,

"Le niouf" a écrit dans le message de


news:
> Bonjour j'ai une requête qui sommarise des données par date, par departement.
> Je veux faire une analyse croisée de ces données sur plus d'une valeur, mais
> je n'y arrive pas. Voici ce que j'aimerais avoir à partir de ma table :
>
> Table :
> Date travaillée
> Département
> Hrs gagnées
> Hrs Dir
> Hrs Ind
>
> Le résultat que j'aimerais avoir est :
>
> En tête de ligne : Département
> En tête de colonne : Date travaillées
> Valeur : Hres gagnées, Hrs Dir, Hrs Ind
>
> Si quelqu'un a déja fait quelque chose de similaire est-ce possible par
> query ou par code vba.

Si j'ai bien compris, regarde ma proposition en 2 requêtes (mode SQL) :

La 1ère requête nommé "LaRequete"

SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]
UNION

SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]
UNION

SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]

Puis la requête qui donne le résultat :

TRANSFORM First(R.Valeur)
SELECT R.[Département], R.TypeHeure
FROM LaRequete AS R
GROUP BY R.[Département], R.TypeHeure
PIVOT R.[Date travaillée];




Bizarre ces sauts de ligne intempestifs.

La 1ère requête nommé "LaRequete"

SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]
UNION
SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]
UNION
SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]

Puis la requête qui donne le résultat :

TRANSFORM First(R.Valeur)
SELECT R.[Département], R.TypeHeure
FROM LaRequete AS R
GROUP BY R.[Département], R.TypeHeure
PIVOT R.[Date travaillée];
Avatar
Le niouf
Merci Michel,

mais j'ai un problème avec la 1ère requête, il me donne ce résultat :

Département Date travaillé TypeHeure Valeur
Hrs gagnées
Hrs Dir
Hrs Ind

Le champs typeHeure me donne les informations que je voudrais avoir, mais
les autres champs sont en blanc.

Est-ce que tu as une idée de ce qui se produit?
Merci
Bye


"Michel__D" a écrit :


"Michel__D" a écrit dans le message de news:gjd393$28u$
> Bonjour,
>
> "Le niouf" a écrit dans le message de
news:
> > Bonjour j'ai une requête qui sommarise des données par date, par departement.
> > Je veux faire une analyse croisée de ces données sur plus d'une valeur, mais
> > je n'y arrive pas. Voici ce que j'aimerais avoir à partir de ma table :
> >
> > Table :
> > Date travaillée
> > Département
> > Hrs gagnées
> > Hrs Dir
> > Hrs Ind
> >
> > Le résultat que j'aimerais avoir est :
> >
> > En tête de ligne : Département
> > En tête de colonne : Date travaillées
> > Valeur : Hres gagnées, Hrs Dir, Hrs Ind
> >
> > Si quelqu'un a déja fait quelque chose de similaire est-ce possible par
> > query ou par code vba.
>
> Si j'ai bien compris, regarde ma proposition en 2 requêtes (mode SQL) :
>
> La 1ère requête nommé "LaRequete"
>
> SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
> FROM LaTable AS T
> GROUP T.[Département], T.[Date travaillée]
> UNION
>
> SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
> FROM LaTable AS T
> GROUP T.[Département], T.[Date travaillée]
> UNION
>
> SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
> FROM LaTable AS T
> GROUP T.[Département], T.[Date travaillée]
>
> Puis la requête qui donne le résultat :
>
> TRANSFORM First(R.Valeur)
> SELECT R.[Département], R.TypeHeure
> FROM LaRequete AS R
> GROUP BY R.[Département], R.TypeHeure
> PIVOT R.[Date travaillée];
>

Bizarre ces sauts de ligne intempestifs.

La 1ère requête nommé "LaRequete"

SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]
UNION
SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]
UNION
SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]

Puis la requête qui donne le résultat :

TRANSFORM First(R.Valeur)
SELECT R.[Département], R.TypeHeure
FROM LaRequete AS R
GROUP BY R.[Département], R.TypeHeure
PIVOT R.[Date travaillée];




Avatar
Michel__D
Bonjour,

Recopie ici le SQL de la requête que tu as utilisé.



Le niouf a écrit :
Merci Michel,

mais j'ai un problème avec la 1ère requête, il me donne ce résultat :

Département Date travaillé TypeHeure Valeur
Hrs gagnées
Hrs Dir
Hrs Ind

Le champs typeHeure me donne les informations que je voudrais avoir, mais
les autres champs sont en blanc.

Est-ce que tu as une idée de ce qui se produit?
Merci
Bye


"Michel__D" a écrit :

"Michel__D" a écrit dans le message de news:gjd393$28u$
Bonjour,

"Le niouf" a écrit dans le message de


news:
Bonjour j'ai une requête qui sommarise des données par date, par departement.
Je veux faire une analyse croisée de ces données sur plus d'une valeur, mais
je n'y arrive pas. Voici ce que j'aimerais avoir à partir de ma table :

Table :
Date travaillée
Département
Hrs gagnées
Hrs Dir
Hrs Ind

Le résultat que j'aimerais avoir est :

En tête de ligne : Département
En tête de colonne : Date travaillées
Valeur : Hres gagnées, Hrs Dir, Hrs Ind

Si quelqu'un a déja fait quelque chose de similaire est-ce possible par
query ou par code vba.


Si j'ai bien compris, regarde ma proposition en 2 requêtes (mode SQL) :

La 1ère requête nommé "LaRequete"

SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]
UNION

SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]
UNION

SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
FROM LaTable AS T
GROUP T.[Département], T.[Date travaillée]

Puis la requête qui donne le résultat :

TRANSFORM First(R.Valeur)
SELECT R.[Département], R.TypeHeure
FROM LaRequete AS R
GROUP BY R.[Département], R.TypeHeure
PIVOT R.[Date travaillée];



Bizarre ces sauts de ligne intempestifs.

La 1ère requête nommé "LaRequete"

SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]
UNION
SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]
UNION
SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
FROM LaTable AS T
GROUP BY T.[Département], T.[Date travaillée]

Puis la requête qui donne le résultat :

TRANSFORM First(R.Valeur)
SELECT R.[Département], R.TypeHeure
FROM LaRequete AS R
GROUP BY R.[Département], R.TypeHeure
PIVOT R.[Date travaillée];






Avatar
Le niouf
Salut Michel,

j'ai a corrigé mon problème à l'aide de query.
Merci
Bye

"Michel__D" a écrit :

Bonjour,

Recopie ici le SQL de la requête que tu as utilisé.



Le niouf a écrit :
> Merci Michel,
>
> mais j'ai un problème avec la 1ère requête, il me donne ce résultat :
>
> Département Date travaillé TypeHeure Valeur
> Hrs gagnées
> Hrs Dir
> Hrs Ind
>
> Le champs typeHeure me donne les informations que je voudrais avoir, mais
> les autres champs sont en blanc.
>
> Est-ce que tu as une idée de ce qui se produit?
> Merci
> Bye
>
>
> "Michel__D" a écrit :
>
>> "Michel__D" a écrit dans le message de news:gjd393$28u$
>>> Bonjour,
>>>
>>> "Le niouf" a écrit dans le message de
>> news:
>>>> Bonjour j'ai une requête qui sommarise des données par date, par departement.
>>>> Je veux faire une analyse croisée de ces données sur plus d'une valeur, mais
>>>> je n'y arrive pas. Voici ce que j'aimerais avoir à partir de ma table :
>>>>
>>>> Table :
>>>> Date travaillée
>>>> Département
>>>> Hrs gagnées
>>>> Hrs Dir
>>>> Hrs Ind
>>>>
>>>> Le résultat que j'aimerais avoir est :
>>>>
>>>> En tête de ligne : Département
>>>> En tête de colonne : Date travaillées
>>>> Valeur : Hres gagnées, Hrs Dir, Hrs Ind
>>>>
>>>> Si quelqu'un a déja fait quelque chose de similaire est-ce possible par
>>>> query ou par code vba.
>>> Si j'ai bien compris, regarde ma proposition en 2 requêtes (mode SQL) :
>>>
>>> La 1ère requête nommé "LaRequete"
>>>
>>> SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
>>> FROM LaTable AS T
>>> GROUP T.[Département], T.[Date travaillée]
>>> UNION
>>>
>>> SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
>>> FROM LaTable AS T
>>> GROUP T.[Département], T.[Date travaillée]
>>> UNION
>>>
>>> SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
>>> FROM LaTable AS T
>>> GROUP T.[Département], T.[Date travaillée]
>>>
>>> Puis la requête qui donne le résultat :
>>>
>>> TRANSFORM First(R.Valeur)
>>> SELECT R.[Département], R.TypeHeure
>>> FROM LaRequete AS R
>>> GROUP BY R.[Département], R.TypeHeure
>>> PIVOT R.[Date travaillée];
>>>
>> Bizarre ces sauts de ligne intempestifs.
>>
>> La 1ère requête nommé "LaRequete"
>>
>> SELECT T.[Département], T.[Date travaillée], " Hrs gagnées" AS TypeHeure, Sum(T.Hrs gagnées) AS Valeur
>> FROM LaTable AS T
>> GROUP BY T.[Département], T.[Date travaillée]
>> UNION
>> SELECT T.[Département], T.[Date travaillée], "Hrs Dir", Sum(T.Hrs Dir)
>> FROM LaTable AS T
>> GROUP BY T.[Département], T.[Date travaillée]
>> UNION
>> SELECT T.[Département], T.[Date travaillée], "Hrs Ind", Sum(T.Hrs Ind)
>> FROM LaTable AS T
>> GROUP BY T.[Département], T.[Date travaillée]
>>
>> Puis la requête qui donne le résultat :
>>
>> TRANSFORM First(R.Valeur)
>> SELECT R.[Département], R.TypeHeure
>> FROM LaRequete AS R
>> GROUP BY R.[Département], R.TypeHeure
>> PIVOT R.[Date travaillée];
>>
>>