[Base] Présentation de donnée sous une forme analyse croisée

Venez découvrir tous les tutoriels, modèles et autres foires aux questions afin de maîtriser rapidement votre suite bureautique favorite.

Modérateur: Vilains modOOs

Règles du forum
Aucune question dans cette section !
Cette section est faite pour présenter les tutoriels. Si vous avez une question sur l'installation, le fonctionnement ou l'utilisation, vous devez poster dans la section du module où se produit le problème.

[Base] Présentation de donnée sous une forme analyse croisée

Messagepar Piaf » 09 Mars 2012 14:05

L'idée de départ et la procédure à suivre sont de Bernard Andruccioli dans Son tutoriel
sur OpenOffice.Base que l'on peut récupérer Ici
Les données choisies pour l'exemple sont limitées.
Elles ne servent qu'à illustrer la procédure à suivre pour obtenir le résultat escompté.
On dispose donc d'un certain nombre de vendeurs avec leur chiffre de vente quotidien.
    Macheprot Claude 03/01/12 50,00 €
    Macheprot Claude 04/01/12 75,00 €
    Macheprot Claude 26/01/12 35,00 €
    Macheprot Claude 08/02/12 60,00 €
    Macheprot Claude 22/02/12 20,00 €
    Macheprot Claude 25/02/12 100,00 €
    Macheprot Claude 05/03/12 25,00 €
    Macheprot Claude 06/03/12 30,00 €
    Macheprot Claude 07/03/12 18,00 €
    Duguidon Antoine 10/01/12 25,00 €
    Duguidon Antoine 18/01/12 60,00 €
    Duguidon Antoine 26/01/12 35,00 €
    Duguidon Antoine 14/02/12 80,00 €
    Duguidon Antoine 23/02/12 20,00 €
    Duguidon Antoine 28/02/12 50,00 €
    Duguidon Antoine 05/03/12 35,00 €
    Duguidon Antoine 06/03/12 45,00 €
    Duguidon Antoine 07/03/12 45,00 €
    Aymé Marcel 09/01/12 40,00 €
    Aymé Marcel 14/01/12 20,00 €
    Aymé Marcel 24/01/12 35,00 €
    Aymé Marcel 07/02/12 70,00 €
    Aymé Marcel 17/02/12 30,00 €
    Aymé Marcel 21/02/12 35,00 €
    Aymé Marcel 05/03/12 80,00 €
    Aymé Marcel 06/03/12 25,00 €
    Aymé Marcel 08/03/12 35,00 €
Dans un premier temps, on crée une requête par mois calculant la somme des ventes par vendeur.
Limité pour l'exemple aux trois premiers mois de l'année.
Pour la requête rTotalJanvier
RequêteTotalJanvier.png
Les noms prénoms sont concaténés
Code : Tout sélectionner   AgrandirRéduire
CONCAT( CONCAT( [tVendeurs].[Prenom], ' ' ), [tVendeurs].[Nom] )

le regroupement et le critère sur le mois
Code : Tout sélectionner   AgrandirRéduire
MONTHNAME( [tCa].[Date] )

La fonction MONTHNAME est choisie pour que ce soit plus parlant visuellement, la fonction MONTH ferait tout aussi bien l'affaire.
L'astuce consiste à donner comme Alias de "Ca" le nom du mois concernant la requête, on utilisera cet Alias comme titre de colonne.
Même manip pour Février et Mars.
Une fois terminé on dispose de trois requêtes que l'on va utiliser dans une quatrième pour l'analyse.
RequêteAnalyse.png
On met en relation les trois requêtes sur le nom des vendeurs.
Cette façon de faire ne fonctionne qu'à partir du moment où il existe au moins une entrée par mois pour chaque vendeur.
En espérant que ça puisse être utile.
Pièces jointes
AnalyseCroisees.odb
(23.34 Kio) Téléchargé 290 fois
Libre Office Version: Version: 5.3.7 et Apache OpenOffice 4.1.4 Sur Xubuntu 16.04
Piaf
GourOOu
GourOOu
 
Message(s) : 5017
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: [Base] Analyse croisée SQL direct

Messagepar Piaf » 07 Juil 2017 13:45

Bonjour
En complément au message précédent, il est possible d'obtenir le même résultat avec une requête en SQL direct.
L'instruction SQL
SQLdirect.png
Résultats dans un formulaire.
Form.png
A+
Pièces jointes
AnalyseCroisees2.odb
(40.46 Kio) Téléchargé 44 fois
Libre Office Version: Version: 5.3.7 et Apache OpenOffice 4.1.4 Sur Xubuntu 16.04
Piaf
GourOOu
GourOOu
 
Message(s) : 5017
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane


Retour vers Tutoriels

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)