Liste des agrégateurs disponibles dans Envision

Liste des agrégateurs disponibles dans Envision










Accueil » Ressources » Ici

La présente page liste les agrégateurs disponibles dans Envision. Les agrégateurs sont similaires aux fonctions mais bénéficient d'une syntaxe plus riche d'options.


Utilisation des agrégateurs

Les agrégateurs ont deux utilisations principales, que les tables soient jointes ou non.

Agrégation simple

Sans jointure, l'utilisation générale de l'agrégateur agg est :
u = agg(v) by [w1, w2, w3] sort [w4, w5] if (z) or x over [a .. b]
  • agg est le nom de l'agrégateur.
  • by est une option qui indique les groupes à utiliser lors de l'agrégation. Il est possible d'agréger selon une ou plusieurs valeurs.
  • sort est une option qui indique l'ordre de tri à utiliser lors de l'agrégation. Il est possible de trier selon une ou plusieurs valeurs.
  • if est un filtre d'agrégateur. Lorsqu'il est utilisé, toutes les lignes qui sont false sont exclues de l'agrégation.
  • or est une option qui indique la valeur à retourner si le groupe est vide.
  • over est une option utilisée pour définir la période d'agrégation dont les limites sont exprimées en jour par rapport à la date de la ligne cible.

Lorsque by n'est pas spécifié, le groupement est fait selon le contexte, en utilisant généralement la partie gauche de l'instruction le cas échéant. Il est possible de lister plusieurs variables après by ; si seule une variable est utilisée alors les parenthèses ne sont pas nécessaires.

L'option sort n'a généralement aucun impact sur la plupart des agrégateurs, max par exemple, car ceux-ci ne dépendent d'aucun ordre de tri. Nous vous conseillons cependant d'utiliser cette option avec first and last.

Lorsque if n'est pas spécifié, toutes les lignes sont inclues, ce qui est equivalent à if true.

Lorsque l'option or n'est pas spécifiée, les valeurs par défaut sont renvoyées si le groupe est vide : 0 pour les nombres, false (faux) pour les booléens, une chaîne de caractères vide pour les textes et une distribution nulle pour les distributions.

Agrégation avec jointures de tables

La syntaxe générale de ce deuxième cas est similaire à la précédente, tout en étant différente :

u = agg(v) by [w1, w2, w3] sort [w4, w5] if c at [z1, z2, z3] or x

L'option at indique les groupes utilisés dans la jointure des tables. Il faut une correspondance un pour un entre ces groupes et les groupes utilisés dans l'option by. Par conséquent, l'option by est obligatoire et le nombre d'entrées indiqué dans les options by et at doit être identique.

Agrégateurs de base

Les agrégateurs les plus souvent utilisés sont :

  • avg : n'accepte que des arguments numériques ; renvoie la moyenne des valeurs.
  • count : compte le nombre de lignes qui sont vraies (booléens) ou différentes de zéro (nombres) ou non vide (texte)
  • distinct : compte le nombre de valeurs distinctes.
  • first : renvoie la valeur de la ligne la plus ancienne.
  • last : renvoie la valeur de la ligne la plus récente.
  • max : renvoie la valeur maximale.
  • median : similaire à la fonction MEDIANE dans Excel.
  • min : renvoie la valeur minimale.
  • product : argument numérique uniquement ; renvoie le produit des valeurs de ligne.
  • ratio : renvoie le pourcentage (entre 0 et 1) de booléens vrais ou de nombres non nuls. Le ration d'un groupe vide est 1.
  • same: échoue si toutes les valeurs groupées ne sont pas identiques et retourne cette valeur sinon.
  • sum : n'accepte que des arguments numériques ; renvoie la somme des valeurs.

Agrégateurs logiques

Les agrégateurs renvoient une valeur booléenne:

  • all : renvoie true (vrai) si toute les lignes en entrée sont vraies et renvoie false (faux) sinon.
  • any : renvoie false (faux) si toute les lignes en entrée sont fausses et renvoie true (vrai) sinon.
  • exists : renvoie true (vrai) si au moins une ligne est passée à l'agrégateur.

Agrégateurs temporels

Ces agrégateurs ne s'appliquent qu'aux tables qui contiennent une colonne Date :

  • latest (sur plusieurs tables, cas spécifique) : renvoie la valeur la plus récente des valeurs analysées ; incompatible avec les options disponibles.

Agrégateurs statistiques

Les agrégateurs suivants permettent des calculs statistiques :

  • entropy : renvoie l'entropie de Shannon du groupe. La valeur renvoyée est exprimée en « shannons ».
  • mode : similaire à la fonction MODE dans Excel.
  • percentile (deux arguments, cas spécifique) : similaire à la fonction CENTILE dans Excel. Le second argument représente le centile ; celui-ci doit être compris entre 0 et 1 inclus
  • stdev : similaire à la fonction STDEV.S dans Excel.
  • stdevp : similaire à la fonction STDEV.P dans Excel.

Variables aléatoires

Les distributions peuvent être générées au moyen d'agrégations (voir également l'algèbre des distributions) :

  • ranvar : renvoie la variable aléatoire empirique associée aux observations numériques.
  • sumr: renvoie la somme de produits de convolution additifs de variables aléatoires. L'agrégateur sum() est associé à l'opérateur + et sumr() à +*.