Téléchargement des produits


Version anglaise


 

Cette fonction retourne le résultat d'un calcul sur les valeurs d'éléments d'une séquence.

La séquence doit être une séquence d'objets Hash.

Le calcul appliqué peut être :

  • Calcul de la valeur maximale des éléments (max) ;
  • Calcul de la valeur minimale des éléments (min) ;
  • Calcul de la somme des valeurs des éléments (sum) ;
  • Calcul de la moyenne des valeurs des éléments (avg) ;
  • Calcul du nombre des valeurs d'éléments (count) ;
  • Calcul du nombre des valeurs distinctes d'éléments (separatecount) ;
  • Calcul de la variance de l'échantillon des valeurs des éléments (samplevariance) ;
  • Calcul de l'écart-type de l'échantillon des valeurs des éléments (samplestandarddeviation) ;
  • Calcul de la variance de la population des valeurs des éléments (populationvariance) ;
  • Calcul de l'écart-type de la population des valeurs des éléments (populationstandarddeviation) ;
  • Calcul de la médiane des valeurs des éléments (median) ;
  • Calcul de la valeur ayant la plus grande occurrence parmi les valeurs des éléments (mode) ;
  • Calcul du coefficient de corrélation de Pearson entre deux ensembles de valeurs des éléments (pearsonscorrelation) ;
  • Calcul de la covariance entre deux ensembles de valeurs des éléments (covariance) ;
  • Calcul de la moyenne pondérée d'un ensemble de valeurs d'éléments en fonction d'un autre ensemble de valeurs d'éléments (weightedmean).


Cette fonction peut s'exécuter :

  • Soit dans le contenu imbriqué des macros groupHeader / groupFooter. Dans ce cas la séquence d'éléments prise en compte pour l'application du calcul est la sous-séquence définie par le groupe associé aux macros groupHeader / groupFooter. Pour cela il faut passer en paramètre de cette macro la variable de boucle qui sert à identifier le groupe courant dans les macros groupHeader / groupFooter.
  • Soit en dehors du contenu imbriqué d'une macro groupList. Dans ce cas, la séquence d'éléments prise en compte pour l'application du calcul est une séquence passée en paramètre. Le calcul s'applique sur tous les éléments de cette séquence.


Pour identifier les valeurs à prendre en compte pour le calcul, il faut passer en paramètre un nom d'attribut d'objet Hash appartenant à la séquence. De plus il faut s'assurer que le type des valeurs de l'attribut est compatible avec le type de calcul choisi.


Paramètres

String

colNameToSummarize

Nom de l'attribut d'objet Hash de la séquence servant à extraire les valeurs pour l'application du calcul

Obligatoire

String / Hash

computeType

Type du calcul. Si ce paramètre est de type String, il doit prendre une valeur parmi max, min, sum, avg, count, separatecount , samplevariance, samplestandarddeviation, populationvariance, populationstandarddeviation, median, mode, pearsonscorrelation, covariance , weightedmean.
Si ce paramètre est un objet Hash, il doit avoir les attributs suivants :

  • fct : nom du type de calcul,
  • linkedColName : nom de l'attribut servant à référencer les valeurs de la deuxième séquence lorsque le type de calcul vaut "pearsonscorrelation", "covariance" ou "weightedmean"

 

Hash / Sequence de Hash

summaryLocation

Lorsque cette fonction est utilisée dans une macro groupHeader / groupFooter, ce paramètre est la variable de boucle identifiant le groupe courant dans groupHeader / groupFooter.
Lorsque cette fonction est utilisée en dehors d'une macro groupList, ce paramètre représente la séquence sur laquelle appliquer le calcul.

 



Par exemple

<#assign seqData = [{"name": "mary", "age": 18},
{"name": "Lucy", "age": 19},
{"name": "Mark", "age": 19},
{"name": "Charlie", "age": 17},
{"name": "Aaron", "age": 18},
{"name": "Tess", "age": 16},
{"name": "Isaac", "age": 16}
]/>
<#assign orderingCriteria = {"name": "original_order_by_age", "colName": "age", "order":"o"} />
<@hardisAdv.groupList .data_model.seqData orderingCriteria; aPerson>
<@hardisAdv.groupHeader "original_order_by_age"; infoGroupOriginalOrderByAge>
Group of ${ infoGroupOriginalOrderByAge .label}: ${ hardisAdv.summary("age", "count", infoGroupOriginalOrderByAge) } people
</@hardisAdv.groupHeader>
${ aPerson.name} has ${ aPerson.age }
</@hardisAdv.groupList>

↑ Haut de page


  • Aucune étiquette