Fonctions statistiques : exemple
Nombre()On veut, dans notre fichier, voir apparaître dans le modèle CLA_Fiche une rubrique qui indique le nombre d’élèves faisant partie de chaque classe de cette année. C’est la même chose que de compter le nombre d’inscriptions… On va donc compter le nombre de zkp liés de la table INS via le lien cla_INS_Eleves. Ca devrait le faire… Réflexe : se mettre sur le modèle CLA_Tech, et ne pas oublier d’y ajouter la rubrique calculée que l’on va créer ! On crée la rubrique z_NombreEleves_c, rubrique calcul (et on clique sur Créer) : La méthode :
puis encore OK pour revenir sur notre modèle où la rubrique est apparue. On place cette nouvelle rubrique sur le modèle CLA_Fiche, à partir de la table active CLA__ où elle apparait bien rangée dans notre liste, et on modifie son nom en "Nombre d'élèves", par exemple, plus explicite pour l'utilisateur : On obtient bien le nombre d'élèves pour chacune des classes (Ouf !). On note que c'est (re-ouf) le même résultat que le nombre d'inscrits, calculé tout à fait différemment. Moyenne()Partant de l’ancre PAR__, qui contient les données de l’école, on veut la moyenne du nombre d’élèves par classe. Si on calcule une moyenne, on doit forcément le faire sur plusieurs données. On le fait souvent sur des enregistrements liés. On utilisera ici un lien de tout à tout ("X") entre PAR__ et une OT de CLA_Classes, par_CLA__Tout, de zkp à zkp. Le nombre d’élèves par classe est connu par la rubrique par_CLA__Tout::z_NombreEleves_c (créé ci-dessus) . Il suffit donc d’en faire la moyenne en partant du contexte PAR__ On utilise la fonction Moyenne() en créant la rubrique Z_MoyNbreElevesClasse :
Si on place cette rubrique sur le modèle PAR_Ecole, on obtient bien la moyenne du nombre d'élèves par classe : Au passage, le résultat n'est pas très beau. Nous allons en améliorer l'affichage, pour éviter toutes ces décimales. En mode "Modèle", on sélectionne notre rubrique. Puis on va dans le menu Format => Nombre (car cette rubrique calcul est en résultat nombre). Dans cette fenêtre, nous allons fixer le nombre de décimales à zéro pour avoir un nombre entier. Nota sur les arrondis. Ce que nous venons de faire est un arrondi dans la présentation uniquement, c'est à dire qu'il n'affecte que l'affichage. Si vous vous placez sur le modèle PAR_Tech, vous pouvez constater que la valeur de notre rubrique est toujours complète. Liste()Cette fonction a énormément d'utilités et certaines d'entre elles seront mentionnées dans les autres sections. On se contente ici d'illustrer son utilisation. Partant de l’ancre CLA__, on veut obtenir la liste des noms d’élèves au sein d’une rubrique texte (il est évident que l'on a déjà cette liste via une table externe ! Le but ici est de s'amuser un peu...). Ces noms sont accessibles via le lien cla_ins_PER__Eleves . Nous ouvrons donc notre graphe de lien (ça faisait longtemps d'ailleurs) et nous double-cliquons sur le petit = entre cla_INS__Eleve et cla_ins_PER__Eleve. La fenêtre de définition du tri s'ouvre (sinon on clique sur Spécifier) pour établir (ou pour vérifier) le tri sur la rubrique Nom. On passe donc à la création de notre rubrique Z_Liste, après avoir affiché le modèle CLA_Tech pour la créer dans CLA__ : Rubrique de type Calcul, résultat texte, et on utilise la fonction Liste(). Au passage, maintenant qu'on se familiarise avec ce logiciel, avez-vous remarqué que dans la fenêtre de définition des rubriques, après leur type on a une description assez pratique de chaque rubrique, surtout pour les calculs en tout genre ? Bon, on place notre nouvelle rubrique calculée Z_Liste sur sur le modèle CLA_Fiche, en prévoyant suffisamment de place pour y inclure tous les noms. On peut comparer cette liste avec la liste obtenue via la Table Externe (il y a intérêt à obtenir la même chose...). La table externe est triée et le lien aussi, donc notre liste itou (A noter : la fonction liste ne trie pas, au contraire d'une liste de valeurs ! Il faut donc travailler sur un lien trié si un tri est désiré). Et voilà encore du bon travail, sur notre fichier. Passons à quelques fonctions logiques.
|