==== Bloc Dashboard/Élément de tableau de Bord=== ===== Description de la requête===== Ce panneau vous permet de saisir la requête et de faire certains choix globaux sur le comportement du tableau de bord. {{:blocks:dashboard:querydescription_fr.jpg|}} ==== Source de données ==== Si la source usuelle de données est en général la base de données de moodle elle-même, il est possible d'utiliser une source (PostGreSQL uniquement) accessoire pour afficher des données provenant d'une autre application. ==== Éléments d'affichage ==== Vous pouvez choisir d'afficher ou de ne pas afficher : * Les résultats de requêtes formatés sous une forme tabulaire * Une représentation graphée des données * Des "sommateurs" sur les données résultat Accessoirement, vous pourrez choisir d'afficher, pour des fonctions de mise au point : * La requête finale calculée par le tableau de bord * Les requêtes de filtre ==== Requête ==== Vous entrerez une requête dans la zone d'édition de texte. Vous devrez vous conformer aux règles d'écriture suivantes : === Règles obligatoires === * Les champs de sortie doivent tous être aliasés (ex : "username as un") afin de garantir le mappage de sortie des données. * Les unions ou intersections ne sont pas acceptées === Règles facultatives === * Les noms de table moodle peuvent s'écrire {nomtable} pour une mise en forme automatique du préfixe de table. Si les accolades ne sont pas utilisées alors le nom de la table doit être complet. * Si vous employez des filtres, ajoutez le tag <%%FILTERS%%> : * Pour remplacer toute la clause WHERE si elle est vide * A la fin des règles de clause WHERE * Si vous utilisez de paramètres de requête, ajoutez le tag <%%PARAMS%%> dans la clause WHERE de la requête. ==== Pivotage de données ==== :!: Cette option est possible en version pro uniquemennt {{:blocks:dashboard:queryrotate_fr.jpg|}} Parce qu'un résultat de requête SQL ne peut avoir un nombre de colonnes de sorties variables, ce mode d'interrogation de données n'est pas approprié pour interroger des données matricielles. Le pivotement de données est une manière de transformer une sortie d'enregistrement "à plat" en une matrice dimensionnée dynamiquement. Cette technique est par exemple utile lorsque vous voulez alimenter plusieurs séries de courbes distinctes dans un graphe à partir des résultats d'une requête simple. Le pivotement utilise une colonne de "dimension" dite colonne "pivot" pour ranger les données des autres colonnes dans une grille conservant les autres dimensions, mais dont l'autre dimension est formée par les valeurs distinctes du pivot. === Exemple === Soit une table listant le nombre d'utilisateurs par méthode d'authentification et par pays, selon la requête : SELECT CONCAT(country, '-', auth) as pkey, country as cn, auth as auth, COUNT(*) as num FROM {user} GROUP BY CONCAT(country, '-', auth) Cette requête est sensée sortir une table linéaire : ^ pkey ^ cn ^ auth ^ num ^ | FR-manual | FR | manual | 45 | | FR-mnet | FR | mnet | 4 | | FR-cas | FR | cas | 1754 | | EN-manual | EN | manual | 22 | | EN-mnet | EN | mnet | 23 | | EN-cas | EN | cas | 98 | | CH-manual | CH | manual | 12 | | CH-mnet | CH | mnet | 5 | | CH-cas | CH | cas | 302 | Afin de pouvoir afficher un graphe en barres sur une série de données par pays, il est nécessaire pour alimenter l'entrée du graphe, de produire une table transformée de la sortie directe de requête. La table à obtenir est : ^ pkey ^ auth ^ FR ^ EN ^ CH ^ | manual | manual | 45 | 22 | 12 | | mnet | mnet | 4 | 23 | 5 | | cas | cas | 1754 | 98 | 302 | qui nous permette de fournir des séries "par méthode d'authentification" sur les entrées pays. Nous pouvons exprimer alors la méthode du pivot comme : " pivoter la colonne cn (country) autour du pivot "auth" pour re répartir les données de la colonne num ". Le pivot nécessite de retraiter les clef primaires pour qu'elles correspondent à la nouvelle organisation de la table de sortie. ----- ====Crédits==== * Valéry Frémaux (valery@activeprolearn.com)- Développements et documentation * Florence Labord (florence@activeprolearn.com) - documentation [[:blocks:dashboard:userguide|Revenir à l'index du guide de configuration]] - [[:Blocks:Dashboard|Retour à l'index du composant]] - [[:Blocks:Dashboard:QueryCatalogue|Aller au catalogue de requêtes génériques]] - [[:Plugins|Revenir à l'index des plugins]] - [[:start|Revenir au catalogue]]