8.3. L’onglet des champs calculés

Tout l’intérêt de la fonction fenêtre réside dans le fait de pouvoir effectuer des calculs sur la fenêtre dont les résultats s’afficheront sur l’enregistrement courant, dans des champs supplémentaires (un champ ajouté par calcul).

Il est possible d’ajouter un préfixe à l’ensemble des noms de champs calculés par la fonction fenêtre (champ Préfixe dans le configurateur).

Il existe deux sortes de fonctions de calcul :

8.3.1. Calculs de position de chaque ligne dans la fenêtre

Prudence

Les calculs de position nécessitent que la fenêtre soit triée (au moins un champ de tri doit être spécifié).

Rang (Rank)

La fonction rang fournit l’ordre (1er, 2ème, 3ème…etc.) des enregistrements de la fenêtre.

Dans l’exemple ci-après :

  • Les frontières de la fenêtre sont définies par partitionnement sur les champs Product Category et Product Sub-Category.

  • Le tri configuré est décroissant sur le champ Amount.

La fonction Rang permet de voir que le deuxième plus gros achat dans la catégorie ACCESSORIES > CAPS & HATS a été effectué le 19 mai 2012 pour un montant de 870.75.

image521

Note

Si 2 enregistrements sont au premier rang alors l’enregistrement suivant a le rang n°3.

Rang compacté (Dense Rank)

La fonction rang compacté reprend les caractéristiques de la fonction rang, cependant, elle n’intègre pas de saut : si 2 enregistrements sont au premier rang alors l’enregistrement suivant a le rang 2.

Numéro de ligne

Un numéro séquentiel commençant à 1 pour chaque enregistrement de la fenêtre (1, 2, 3…).

8.3.2. Fonctions d’agrégation

Ce sont des fonctions qui rappellent les mesures sur un cube (Pivot), à cette différence près qu’elles sont calculées, pour chaque enregistrement courant, sur la fenêtre autour de l’enregistrement courant. Cela permet par exemple de calculer des moyennes glissantes ou des sommes cumulatives.

image522

Prudence

L’opération n’est proposée que si le type du champ est compatible. Par exemple, une somme ne peut se calculer que sur des champs numériques.

Exemple 1

Identification des plus gros clients de la journée par boutique (Store).

  • Les frontières de la fenêtre sont définies par partitionnement sur le champ Store.

  • Le tri configuré est décroissant sur le champ Amount (montant de l’achat).

  • Les fonctions d’agrégation retenues sont Avg et Avg Diff (moyenne et différence par rapport à la moyenne) sur le champ Amount :

image523

La figure ci-après montre que :

  • Christopher Martinez est le plus gros client de la journée chez Abercrombie & Fitch.

  • Avec un achat de 2 070€, il est 786,25€ au-dessus du panier moyen de la journée pour la boutique Abercrombie & Fitch. Panier son panier moyen s’élève à 1 283,74€.

image524

Exemple 2

Performances des commerciaux :

  • Les frontières de la fenêtre sont définies par partitionnement sur le champ Sales Representative.

  • Le tri configuré est croissant sur le champ Order Date.

  • La fonction d’agrégation retenue est Cumulative Sum (Somme cumulative) sur le champ Amount :

image525

La figure ci-après montre la somme cumulative (par date de commande croissante) des ventes effectuées par Adam Shillingsburg :

image526

Les fonctions d’agrégation suivantes sont disponibles :

  • Sum

    somme des valeurs d’un champ numérique sur la fenêtre courante.

  • Sum Ratio

    proportion de la valeur de l’enregistrement courant pour le champ numérique sélectionné par rapport à la somme des valeurs sur la fenêtre courante, pour ce même champ.

  • Cumulative Sum

    somme cumulée sur la fenêtre, des valeurs d’un champ numérique (nécessite une colonne de tri).

  • Average

    moyenne des valeurs d’un champ numérique sur la fenêtre courante.

  • Average Diff

    différence de la valeur de l’enregistrement courant pour le champ numérique sélectionné par rapport à la moyenne des valeurs sur la fenêtre courante, pour ce même champ (cela permet par exemple de savoir de combien un achat effectué par un client est inférieur ou supérieur à la moyenne de ses achats sur la semaine si la fenêtre est la semaine glissante).

  • Count

    décompte du nombre des valeurs distinctes d’un champ sur la fenêtre courante.

  • Standard Deviation

    écart type des valeurs d’un champ numérique sur la fenêtre courante.

  • Min

    minimum des valeurs d’un champ sur la fenêtre courante.

  • Max

    maximum des valeurs d’un champ sur la fenêtre courante.

  • First

    première des valeurs d’un champ sur la fenêtre courante.

  • Last

    dernière des valeurs d’un champ sur la fenêtre courante.

  • Lag

    valeur de la cellule au-dessus de l’enregistrement courant pour le champ sélectionné.

  • Lag Diff

    différence avec la valeur de la cellule au-dessus de l’enregistrement courant pour le champ sélectionné (cela peut être très utile pour comparer les valeurs liées à des évènements temporels et extraire des tendances : hausse, baisse). Cette fonction ne s’applique qu’aux champs continus (i.e. de type date ou numérique)

  • Lead

    valeur de la cellule en-dessous de l’enregistrement courant pour le champ sélectionné.

  • Lead Diff

    différence avec la valeur de la cellule en-dessous de l’enregistrement courant pour le champ sélectionné. Cette fonction ne s’applique qu’aux champs continus (i.e. de type date ou numérique).

  • Concat With Comma

    accumuler chacune des cellules de valeur texte, en séparant les valeurs par une virgule.

  • Concat with Pipe

    accumuler chacune des cellules de valeur texte, en séparant les valeurs par une barre (|).