vendredi 14 mars 2014

Tableau croisé avec des données postgresql (suite)

Nous n'allons plus cette fois comme dans le billet précédent lier directement le tableau à une table postgresql, mais procéder de manière indirecte.
Après appui sur F4 nous choisissons la table "opérations" (de la base de données bdtest) comme source de données. Nous n'appliquons aucun filtre, aucun tri.
Après sélection de l'ensemble de la table (en cliquant sur le rectangle gris du coin supérieur gauche)


nous insérons les données dans le tableur via l'icône "Données dans le texte":


Ensuite comme auparavant nous passons par Données => Table du pilote => Créer, mais au moment de sélectionner la source nous optons pour "Sélection active":


Il reste à procéder en faisant glisser ce qui convient là où ça convient...


pour obtenir ceci:


Cette méthode présente deux avantages par rapport à la précédente:

  • apparition de la cellule "Filtrer" (qui refusait obstinément d'apparaître en cas de lien direct)
  • les dates sont directement au bon format (alors que précédemment 30/12/12 s'affichait 41273)
Cliquer sur "Filtrer" nous permet de ne retenir que les dates de 2013:


Il reste à grouper par mois (via F12):


Attention: en cas de modification des données, il faut cette fois actualiser la feuille qui contient les données (et qui elle est liée à la table postgresql):
Ouvrir le navigateur avec F5:


Double-cliquer sur la plage de donnée adéquate (par défaut Importer1 si on n'a effectué qu'une importation), puis actualiser la plage:


En principe le tableau croisé devrait être mis à jour automatiquement, ou sinon procéder comme précédemment: clic droit sur le tableau puis choisir 'Actualiser' dans le menu contextuel qui surgit.